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
We should probably stop putting these silly `TODO:`s in the strings. And use `nameof()` instead of hard-coded type names in strings.