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.
Can you make this a `finally` block again, instead of a `catch` with a `throw`?