Delete Orphan folder when last file is deleted
Manage file rename and if the directory is not empty in TFS repository

(modifications are a little ugly, now :( )
Ordering the changesets by ID to correct the branching point (#284)
Fixing a "missing parent" issue
Indentation corrected
Correcting indentation in IBranch.cs
Merge pull request #291 from AlexeyRaga/master

Branching point corrected (#284)
Interface segregation.
Start DirectoryTidier.
Implement DirectoryTidier.
Use DirectoryTidier.
Revert some things.

One thing of note is that DirectoryTidier uses the LatestChangeset,
not the parent changeset. This is to try to ensure that directories
are never removed when there are any files in them, even if some other
changeset tries to sneak in new ones.
Remove some debugging leftovers.
Merge remote-tracking branch 'origin/master' into delete-orphans