Some updates.
Fixes for running under gcj
Improvements to file system detection on Windows, to pick up remote file systems and also to avoid blocking on unavailable file systems.
Added isCaseSensitive() and isCasePreserving() to FileSystem, plus implementations on windows and os x.