Implemented MockFile.Open(string, FileMode)
Implemented support for relative paths
Fixed MockPath using System.IO.Path instead of its own methods
Added locks around files access in in MockFileSystem
Implemented FileInfoBase.LastWriteTime
Merge pull request #32 from RobGibbens/master

Implemented FileInfoBase.LastWriteTime
Modified the implicit cast from DirectoryInfo to DirectoryInfoBase to correctly return null if asked to cast a null value

Signed-off-by: Martin Evans <martindevans@gmail.com>
MockDirectory.GetCurrentDir() implemented
Merge pull request #36 from srasch/master

MockDirectory.GetCurrentDir() implemented
Merge pull request #35 from martindevans/master

Modified Implicit cast from DirectoryInfo to DirectoryInfoBase to correctly handle null values
implemented also SetCurrentDirectory()
If File not exists, GetLastAccessTime, GetLastWriteTime and GetCreateTime should return default value of 1601-01-01 (from MSDN: If the file described in the path parameter does not exist, this method returns 12:00 midnight, January 1, 1601 A.D. (C.E.) Coordinated Universal Time (UTC).)
MockFile.Move can now throw exceptions (ArgumentNullException, IOException & FileNotFoundException)
Formatting
MockFile.Move handles now invalid filenames (blank, empty, null) with correct exceptions.
When Filenames contains invalid chars (Path.GetInvalidPathChars) then a ArgumentException should be thrown.
MockFile.Exists(null) now returns false instead of throwing.
MockFile.Create(existingFile) now overwrites existing file instead of throwing. Fixed in MockFileSystem.AddFile(existingFile).
MockFile.Create(readOnlyFile) now throws UnauthorizedAccessException. Implemented MockFile.SetAttributes.
cleaned up tests for Exceptions - thanks to https://github.com/aklg :)

Changed the messages of exceptions to be like system.