Unify `WithWorkspace` methods

Since there aren't enough alternative solutions to #570 already...

This should help resolve problems with rapid creation and teardown of workspaces (e.g. during `git tfs pull`), because there will just be one workspace for the duration of the `git-tfs` execution.

cc @pmiossec @daveh551 @LloydPickering @tacker66 @lubosz @bitxwise @JenasysDesign
cc #570 #596 #597 #630 #651 #649