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 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.