Implement on-demand loading of extent records in ForkFilter.

This means that even if the extents overflow file is corrupted, we can
still extract as much data as possible before we encounter the bad
extent record.
Add Java 7 method of setting POSIX permissions for extracted files.

This code also attempts to set UID and GID for the files, but it doesn't
appear to work properly.
BTreeFile.java: Add sanity check for node type of B-tree header node.

We should not proceed with processing the node data if the node type is
inaccurate.
FileSystemBrowserWindow.java: Set Java 7 timestamps for directories.
FileSystemBrowserWindow.java: Consolidate file attribute setting code.
FileSystemBrowserWindow.java: Never attempt to set file mode on Java <7.
FileSystemBrowserWindow.java: Emit message on error setting file mode.
FileSystemBrowserWindow.java: Emit message on error setting file times.
Add "Always continue" functionality when encountering extract errors.

This lets the user extract as much as possible from the volume without
having to press "Continue" all the time when extract errors are
encountered.
Remove arbitraty preferred sizes from [Internal]StructViewPanel.

These preferred sizes messed up layouts that actually cared about them.
Add information about extents to FileInfoPanel.
Remove a few unused imports.
FileSystemBrowserWindow.java: Fix typo in error message.
FileSystemBrowserWindow.java: Emit extract error message to System.err.

The error message is returned to the caller and displayed when
extraction is complete. However in order to match exceptions printed to
System.err with error messages displayed at the end of the extract
process, we should also emit the same message to System.err. Otherwise
it's difficult to find the corresponding exception stack trace.
Always set attributes for files created by HFSExplorer while extracting.

If HFSExplorer encountered an error while extracting the files, the file
attributes would not be set for the partially extracted file. This is
now fixed, and attributes are always set if the file was created.
Implement Java 7-specific support for creating symlinks.
Split setting of Java 7 POSIX mode and ownership into separate stages.

Changing mode of symbolic links cannot be done for some reason, while
changing ownership works fine. This meant that when attempting to do
everything at once, we got an exception when attempting to set the mode,
which then blocked the setting of ownership. Solved by splitting the two
operations into separate functions.
FileSystemBrowserWindow.java: Fix extra linefeed in error message.
FileSystemBrowserWindow.java: Extract error messages cleanup.

We should always print the message to System.err before putting it in
"errorMessages", and we should always have a descriptive line before the
stack trace so we know which message is which.

Also the whole path should be printed out, not just the name of the
file.
FileSystemBrowserWindow.java: Sort imports.