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
@Praburaj I think it might be nicer to just leave these be public. It allows you to write custom implementations without having to rewrite these things. If you feel strongly, make it public but put it in an Internal namespace.