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'
}
```
I probably would have used LastIndexOf & Substring instead of Split & Join. Maybe personal preference.

But adding and example URL in a comment would help reading through.