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
`throw new InvalidOperationException(string.Format("{0} does not support {1}.", nameof(NotFoundFileInfo), nameof(IsReadOnly)))`. Same comment applies to other exceptions from this type.