added explicit git revision support to winrepo

I need winrepo to be able to support an explicit version from a git repo whether that is a branch or a hash. This change implements that in a similar way that ext_pillar does.

Could someone comment on my change to ``salt/states/git.py``? Is it kosher? I don't understand what ``^{{commit}}`` is being used for, but it errors out in my environment.

```
[INFO    ] Executing command 'git rev-parse e38cac5090 ^{commit}' in directory '/tmp/winrepo'
[ERROR   ] Command 'git rev-parse e38cac5090 ^{commit}' failed with return code: 128
[ERROR   ] output: fatal: ambiguous argument '^{commit}': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions
e38cac5090bc5d680b5289c04d4b44d69a89cddf
^{commit}
```