fix #1256 enable commit-ish for generic deploy handler

For generic `/deploy` payload, we allow the url to define the commit to deploy (hash tag below).   The branch being fetch is still based on settings; however, we will checkout the givencommit when deploying.   Tests are included to cover Git and Hg plus error scenarios.

```
{
  'url':'https://github.com/KuduApps/HelloKudu2.git#1234567',
  'format':'basic'
}
```
Using `deploymentInfo.CommitId` instead if `deployBranch` is slightly more readable (always same I think).