Create and clean up workspaces only once per git-tfs run

TFS seems to have problems creating and tearing down workspaces in quick succession (#315, #405). And spinning them up and down creates more chatter on the network, which could be expensive on a slow connection.

This keeps one workspace per tfs branch for the entire time that git-tfs is running, and tears it down only at the end.

@vitalbyte @MrDoomBringer @eduaquiles - can you guys try this out and see if it gets rid of the spurious errors?