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.
Besides the fact that the payload is gathered from the `request` object that you are passing in anyway, and that it would still be interesting to know what the gathered values for `info, repo, user` are even for debugging purposes.