Trap more non-fatal exceptions when executing webhooks. (maybe ready)

This also reorganizes the `execute_webhook` so that the HTTP response does not wait on the result of webhook_info_by_hash.