Send-signal, payload if hook does not exit and cleanup.

* So, if "send-signal" is set in the hook.path field, a signal will be send with the repo, info, user and request. This allows to process the hook in an attached python method instead of a command /shell script that has to have the correct mode etc.

* The payload will be passed if hook does not exist.
It's best not to get concerned over the details while we work out the larger architecture.  Sure, the second signal could be tweaked a bit, but it illustrates a valid use case.  See my comment on the PR for my thoughts going forward.