Alias tags

Normally setting a tag equal to a branch with the -r causes the tag to be set to the revison at the head of the branch at that point. The -A option to tag and rtag changes this behaviour so that the new tag becomes an alias name for the existing branch. This allows you to switch active branches without having to change the clients.