Add TryToDeleteWorkspace method for reliability

Refactored the workspace.Delete() action into a TryToDeleteWorkspace method. Includes alternate Retry.Do() values of 5 second delay between tries to help with busy TFS servers. Refined this pull request to minimise code changes as per @spraints and @pmiossec suggestions. Should help improve cloning reliability identified in #570, #461
Forgot to pull latest code and rebase prior to sending PR. Sorry.
Please change this back to just a plain `throw`.