Make Files.newDirectoryStream and Files.createDirectory behave as expected

While trying to use shrinkwrap as an in memory file system for testing I noticed that Files.walkFileTreePath does not work at all as

     Path dirPath = fs.getPath("dir");
     Files.createDirectory(dirPath);
     Assert.assertTrue("Created directory was not a directory", Files.isDirectory(dirPath));
fails. Created directories are not correctly identified as such. Additionally the DirectoryStream implementation does not match what Java's implementation of walkFileTreePath expects (it returns all Files in the filesystem not just those beneath the specified path)
I fixes both these problems. See the added Tests for details.