Change FileSystem TP invalidation

Changes the invalidation logic to be more fine grained, and only
invalidates when used folders have changes
Added CommonFolders

Added CommonFolders to help with Issue #31
Fixed RelativePath<""> to work properly

Made RelativePath require the local path specifier, and added tests to
verify that "" and "." both work properly for project path.
Added CommonFolders docs

Added documentation for CommonFolders
Fixed test that failed from FAKE

The unit test harness under FAKE doesn't shadow copy the same was as
standard nunit, so adapted tests to not fail.
Merged with latest master
Updated docs for new RelativePath

Added new specification to docs for RelativePath
Merge pull request #33 from ReedCopsey/master

Addresses issues #29, #30, #31