Ensure the lock folder is created when Lock is called
Added more failures to retry on in git fetch scenario.
Updated related functional tests to not retry (as the server should do that now)
Updated some tests to async / await code.
Also added an assert for exceptions that can handle async code.
Protect against incorrect lock.Release() calls
Made RepositoryItemStream.Close idempotent so that it can be closed multiple times but only doing the cleanup on the first time through.

Avoided double-releasing the file lock on invalid range requests. Now we only release it once.

Henrik
Update all tests in DeploymentManagerTests to use async / await.
Add configuration to maximum number of sites being created by the test when failing in reuse site mode.
Remove multiple calls to get deployments
Fix #465 out-of-memory due to git fetch prompt for cred