Add System.IO.FileSystem and System.IO.FileSystem.Primitives

This change adds the FileSystem and FileSystem.Primitives assemblies.  I have written new tests for FS.Primitives and created a starting point for porting existing tests into FileSystem.  I'd like to hold off on any contributions to FileSystem until I flesh out the test suite.
It seems so, as *nix has only one invalid char in path - '/'