Refactoring IFileSystem

Making AssemblyNeutral and creating .Interfaces package
Changing semantics of string property to be relative
Updating tests
Changing return value to be always non-null with Exists property
You're returning instances of the two types from `EmbeddedFileSystem`. Basically acts as an argument against these being specific to `PhysicalFileSystem`