core.sr.ht/srht/webhook d---------
webhooks: add exception handler

Without this, any database errors could land us in an invalid
transaction, and we'd never hear about it.
webhooks: fix webhooks with no events
Move signing/verification code to crypto.py
Fix permission checks with webhook configuration
Fix missing client IDs for Webhook scopes

Add global client_id access for the current initializing app. This allows us to
access the client_id and assign it to webhook scopes during creation of the
webhook object in __new__().
Add syncronous delivery option to CeleryWebhook
Implement webhook redelivery
Move webhook payload verification to blueprint

So that we can verify it without introducing a dependency on the
sqlalchemy stuff, which causes the mapper to enter an invalid state if
you don't have an OAuthToken class.
Add a nonce to webhook signatures
Implement signed webhook deliveries
Use a local proxy for webhook functions
Let application choose Celery broker for webhooks
webhooks: expand support for novel routing models
Use UUID for webhook delivery lookups via API
Fix webhook routing bugs
Normalize webhook API
Truncate webhook delivery payload/response records
Expand payload/response size for webhooks
Generalize webhook delivery for arbitrary requests
Rig up profile update webhook