Rename SelectWindowsDeviceDialog to SelectDeviceDialog.

The plan is to make the dialog usable on non-Windows platforms, so the
name should not reference "Windows".
Rename SelectWindowsDevicePanel to SelectDevicePanel.

The plan is to make the panel usable on non-Windows platforms, so the
name should not reference "Windows".
Add support for Linux, OS X, FreeBSD and Solaris to SelectDeviceDialog.

This also implies changing its interface so that is created with a
static method which can automatically choose the proper implementation.
GUIDPartitionTable.java: Add support for sector-aligned I/O.
DriverDescriptorRecord.java: Add support for sector-aligned I/O.

Also update PrintAPMPartitions.java to use the sector-aligned I/O aware
method of reading from the device.
Correct variable names / struct size of DriverDescriptorRecord.

The variable names for the struct members that we call "reserved1",
"reserved2" and "reserved3" are "sbDevType", "sbDevId" and "sbData" in
Apple's documentation.

In addition we fix the formatting of the "Description" messages, change
the struct size in the documentation to reflect that the struct size is
not fixed and remove the mention of 30 driver descriptor entries in the
struct description (the actual number of entries are described by
"sbDrvrCount").
DriverDescriptorRecord.java: Store the whole DDR sector when possible.

We used to store only the 269 bytes that we used to consider to be a
part of the driver descriptor record. Now this is determined more
dynamically, by looking at sbBlkSize and finally by limiting the data
size to the number of remaining bytes in the input buffer.
Adjust printFields output of pad data in Apple Partition Map structs.

We now print line breaks at every 16th byte to avoid excessively long
lines and to force output to be displayed in even columns.
Return unsigned values by default in DriverDescriptorRecord.
SelectDeviceDialog.java: Add support for querying FreeBSD for disk ids.
Disable debug output in FileSystemHandler/HFSCommonFSLink.

It can be reenabled at runtime by specifying the appropriate properties.
SelectDeviceDialog.java: Sort device strings in combo box.

The output may be returned from the operating system out-of-order. It's
nicer to have sorted output.

We skip sorting in the Windows case, because our detection method
determines the order of the devices in an appropriate manner.
Disable debug output in HFSCommonFileSystemHandler.

It can be reenabled at runtime by specifying the appropriate properties.
launcher.cpp: Add code to open Java download page on launch error.

The dialog presented to the user used to contain only one button "OK",
and this button simply closed the dialog and exited the launcher.

We now have two buttons, "OK" and "Cancel". When clicking "OK" the user
is taken to http://www.java.com using the default web browser ("Cancel"
exits the launcher like before).

The message displayed to the user is also updated accordingly, and all
references to the old download site http://java.sun.com (which nowadays
redirects to Oracle's Java download page) is removed.

Also added some icons to the dialogs.
Remove deprecated helper .bat file common_vars.bat.

The only file using it is buildllio.bat, so its pointless to keep it as
a separate file.
Retire the old BuildEnumerator system.

It has not been used at all lately, and frankly it should not be used.
It has been causing problems with build number being updated downstream
causing the version check to fail. In the future we will update the
build number manually, incrementing it with some fixed number on each
release.
dist/hfsexplorer.sh: Add warning/fallback if 'dirname' doesn't exist.
Modernize distribution scripts "hfsx.sh", "resview.sh" and "unhfs.sh".

They can now be invoked from outside directories, like "hfsexplorer.sh".
hfsexplorer_vista.vbs: Update filename of HFSExplorer's .bat-file.

This was never updated when we renamed "runfsb.bat" to
"hfsexplorer.bat".
test.sh: Fix paths to .jar files.

The paths to the .jar files "apache-ant-1.7.0-bzip2.jar" and
"iharder-base64.jar" were specified as /lib/<jarfile>, but they are
actually located in /dist/lib.