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
AFAIK, the suggestion was to pass in app relative paths. This way, the semantics of this method remains the same. That said, we should probably put a check for `Path.IsRooted` here to verify you don't pass in a root relative path.