revparse: Lookup branch before described tag

- Fix #1306
- Also included; A fix to make `git_revparse_single()` a bit more compliant with `git rev-parse` behavior regarding shas, abbreviated shas and branches