First pass at pushing tags.

This seems to work fine with lightweight tags. It generally assumes that
only tags are being pushed (ie: git push --tags), but it doesn't fail
completely if you try to push it with a ref (git push --tags origin HEAD).

The problem with lightweight tags is that they don't appear to have any
associated username or date in the git history. So this code is using the
default name and date when it creates the commit in mercurial that
modifies .hgtags.

A bug is that it pushes to default no matter what.

It also hasn't been tested yet with named tags, but that is coming.