Support before_deploy and after_deploy hooks

These hooks are placed at the outer edges of the deploy task.

before_deploy will trigger immediately after the active_release ("releases/TIMESTAMP") directory is created on all the servers. This is the earliest it is possible to run the before hook with the expectation that the paths will be correct and usable.

after_deploy will trigger at the very end of the deploy before the script exits. This runs after maintenance pages are removed, and after the git garbage collection task.