Major syntax changes

Some macro names (such as \branch) were too generic; a "git" prefix has been
added to most of them.

Because the same macro argument was used to specify both node text and node
name, and because some characters are not allowed in node names, branch and
tag names were quite limited; for instance, you could not have a tag reading
"v0.1". The new syntax, which allows the user to specify (as the optional
argument) a node name different to the node text, obviates this limitation.