Switched from using FileKey and FileStorage back to just using File.
Switch from using Strings for name elements in paths and directory entries to using Name objects.

These allow for different case sensitivity settings by using a canonical form for equality while
retaining the original string for display.
Changed Path implementation to base equality on strings, not the Name equality which should only be used for lookup.
Minor changes
Organize classes into packages once again.

While it's nice being able to keep everything package-private, it's not worth how much
harder it is to understand the code structure when it's all dumped in to one big package.
Fix a bug with creating PathMatchers and add some tests.
Expand ByteStore tests.
Add some SecureDirectoryStream tests.
Couple small pom.xml changes.
Minor cleanup.
Fix a test that was failing on Windows.

The issue was just that the Files.write method that writes an Iterable
of lines uses the platform default line separator. In this case, when
the TRUNCATE option isn't used it overwrites one more character with the
line separator than it does on \n platforms.
Add a lot of new tests for the attribute package.

Tests for all the core functionality such as AttributeService are in, plus tests for most of the
individual AttributeProvider implementations. A few more AttributeProviders remain to be tested.
Update copyright headers.
Fill out the rest of the tests for the attribute package.
Merge branch 'attribute-tests' into develop
Add support for setting specific file attributes when creating a file.
Add tests for File, FileService and DirectoryTable.
Partially decouple FileTree from JimfsFileSystem; don't require a FileSystem to create a tree anyway.
Make JimfsFileSystem abstract, with a real and fake implementation.
Add a META-INF/services file specifying JimfsFileSystemProvider as a service provider.