Add move and delete branch option to `branch`command

and add a DeleteTfsRemote in GitRepository
Add create branch option to `branch`command
Refactoring Run() `branch` command and permit to use Run(params string[])
Better use of RemoteInfo to move TFSRemote