Fixes #321 `FileSystem.GetWorkingDirectory` FileNotFound exception.

Fixes #321

* If the specified path is null/empty/whitespace then the current directory gets returned.
* If the path to the file/folder doesn't exist then the directory of that path is returned.

Perhaps someone would like to check my unit tests and code and then to offer some constructive criticism? :smile: 

Advice on how to test `scriptcs -install ScriptCs.AzureMobileServices` with XUnit would also be welcome if that is needed.