API : replace git_tag/git_branch with git_rev

As @asmeurer these are redundant with each other.

Added a clean-up function which will remove the old tags, and
if they exist will copy the value over to git_rev.

Cleaning function will also raise an exception if more than
one of the tags is given.