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.
@sesas yes, gathered before, but could be ``None`` or so (see L39, ..). With undefined values no ``Hook`` will be found and then we will end in the ``Hook. DoesNotExist`` section. For me, after  finding a ``Hook``, it's enough to know the "source" repository - but in case of a ``Hook. DoesNotExist`` I want as much information as possible (for debugging, further processing, etc.).