Better support for Mono runtime.
NT paths now work as expected on Linux where Mono's System.IO.Path
doesn't expect backslashes. Also added new Directory property
that returns the root as well as the directory name. Methods
on a specific path type that used to return generic IPurePath
now return their own type when possible.