Add __git_raw proxy method, returns the raw stdout
Add support for [v]X.Y.Z[-PRE-RELEASE-METADATA] tag format

Note that square brackets denote *optional* data.

- do not use git-describe for looking up hash length
- do not cross-check hashes with git-describe output
- a minimum 7-chars hash length has been introduced, to avoid frequent
hash string length variations in fast-growing projects
- refactor error message