Fix push error handling.  Fix pushing tags.

git push doesn't necessarily return the exit codes Git::Repository considers
an error when it fails.  "git push --tags" wasn't working because the
author, stable and alpha tags need to be moved, but the error was never seen.

* Change push to die on any non-zero exit code.
* Force the push for tags so the author, stable and alpha tags will be moved.