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
I found there are some more places where I need to put the [NotNull]. I will fix that with an upcoming change.