Push tags right after we create them.

This is tracked as Issue #24. See also
6c2947bba2af5cbc82322e0723d9bcdf11ed8357 for an alternate
implementation.
Safegueard against recursion.__log() calls _get_config()
which in turn might call _die() to handle errors.
This will result with some meaningless errors as the
actual error  will not reach the screen.
Merge pull request #26 from burak/master

Prevent recursion in _die()

Looks good to me, tested it on the csapp box with a syntax error in git-deploy.conf.
Added a post-tag hook.
Added post-finish hook.
Merge branch 'github/issue_24/push_tags'. Resolves Issue #24

Merge Yves's commit for pushing tags right after they're created. See
https://github.com/git-deploy/git-deploy/issues/24
Make the make_dated_tag function private

This function hasn't been used by git-deploy since f348aa2, add a _
prefix to it to indicate we only use it in Git::Deploy itself.
git-deploy: fix compilation error in f348aa2

The f348aa2 commit didn't compile because we weren't passing
$remote_site around.

Maybe we should just move the do_interactive_revert function around to
avoid this:

    bin/git-deploy:161:sub do_interactive_revert {
    bin/git-deploy:768:                do_interactive_revert( $remote_site, $list_count, $prefix, $action, $ignore_older_than, $include_branches,
make_and_push_dated_tag: just push the tag we created, not all tags

In theory we should now be pushing all the tags we create, so why do
we even need this:

    # and push any tags that might have been created
    push_timings("gdt_push_tags");
    push_tags( $remote_site );

    exit(0);

But just push the tag we created here, if there's any leftover ones
for some reason they'll be picked up by the above code.
Revert "Added a post-tag hook."

This reverts commit 5c4b77f3aaf525e48f168c9d689d7f841d115fb3. Going to
re-do this as something that runs the post-tag hook on
make_and_push_dated_tag() as discussed with Hans.
git-deploy: don't redundantly push_tag() after make_and_push_dated_tag()

The make_and_push_dated_tag() call is going to push_tag(), no need to
do it again.
Remove the _make_dated_tag function

Finish what I started in 9a84cf6 and just remove the _make_dated_tag()
function. It was only called from make_and_push_dated_tag().
Add post-tag again with better behavior and documentation

Re-add the post-tag hook Hans was trying to add in
5c4b77f3aaf525e48f168c9d689d7f841d115fb3, but actually run it every
time we create a tag, and set "rollout_tag" in the argument to the
hook, also document it in the POD.
POD: Document that post-sync runs on failure, and reference a new issue for that
git-deploy: document the post-finish hook

In particular suggest that E-Mails be sent out there instead of in
post-sync due to https://github.com/git-deploy/git-deploy/issues/27