[NeedReview]Rename branch and add file

Should fix #660 and #650...

The main goal of this PR, is to manage a rename changeset
as a changeset belonging to the new renamed branch and not
as belonging to the old branch (as done before).

This way, other changes than the rename could be included in the 
newly created commit (and not be ignored as done before
because the changes are made inside the $/new/tfs/branch/path)
It seems like this should be able to work without any globals. Why not add the rename data to `fetchResult`, and have the caller aggregate the information and include it in future calls to `Fetch`?