Classes for hierarchical browsing of directory and data structures.

Using the classes available in this package, hierarchical data structures can be viewed interactively. The GUI side is based on a Swing `JTree` component, and the underlying data model is supplied by classes conforming to the package's `DataNode` interface.

Adding knowledge of a new type of hierarchical data is done by providing a new class implementating `DataNode`. Such new `DataNode` implementors must be able to do the following:

- supply their children on request (though not necessarily know what type of node each child represents) - this should be done by using a `DataNodeFactory`
- provide a textual and iconic representation of itself
- possible provide a `JComponent` giving fuller details of itself
- have one or more constructors based on fairly generic objects such as `String`, `File`, other types of `DataNode`

The `DataNodeFactory` class should then be informed of the existence of the new class.