Add before_signal and after_signal hooks

Related to #537 and #515, this pull request introduces a before_signal hook.

It's useful when you have (for example) a custom stopping workflow for your processes (custom signal or completely different solution like pushing a stop flag in a redis queue...).

The after_signal is added for completeness.

The before_stop hook is not enough because of #537 (we have to be able to stop gracefully individual processes and not whole watchers because of the max_age feature)