Add FileAssert.Exists and FileAssert.DoesNotExist

This part of issue #111 that adds a FileExistsConstraint along with two new asserts on the FileAssert class, Exists and DoesNotExist. These methods take a file as either a string or a FileInfo.

The majority of the changes are the various overloads and additional unit tests. I cleaned up the FileAssert unit tests to our coding standards and un-tabified the FileAssert class introducing some noise.

This does not complete issue #111, but it can be merged once it is reviewed.