Git Release VCS Branch Check

Add a check in the validate_repostate method of the Git VCS implementation to ensure the branch name is valid. This was a feature of rez 1.0, and useful if you need to help enforce workflows through rez (such as that provided by gitflow).

The branches that are considered releasable are configured through the rezconfig file and are expected to be a regular expression. This means you can have some fine grained control to match 'hotfix-1.2.3' and not 'hotfix-foobar'.

If the releasable branch list is empty (as it is by default to match the current rez 2.0 behaviour) then any branch is considered valid.