[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's what I planned to do at the beginning but it will need to modify a lot of API adding a parameter that won't make big sense for most of the uses.

I think it will complicate a lot the code...

That's why I wanted your review (perhaps you would have a great idea about it...) because I was not very pleased by this static struct :(

I will try to modify the API and see if I could make something beautiful....