Various cleanup for the hooks

The following changes are fixing some issues with the hooks.  Some were missing from Dancer and are now implemented (except for on_handler_exception, but a ticket was created).

The hooks related to errors were not working because they were not implemented in the correct location.

There's a few changes to the documentation, to move everything related to hooks to the (already existing) Hooks.pod.