Determine whether a branch name is valid, meaning that (when prefixed
with refs/heads/) that it is a valid reference name, and that any
additional branch name restrictions are imposed (eg, it cannot start
with a -).
output pointer to set with validity of given branch name
a branch name to test
0 on success or an error code