Merge branch 'policy'

* policy:
  Show FUP before starting registration in earnest
Show FUP before starting registration in earnest
If balance is exactly enough, still use it
Log errors from rev.ai
Finish span on error as well
Add breadcrumbs regardless of log level
Sentry instrumentation to own file, better logger, instrument redis
Testing has gone well, enable RevAI for everyone

Disabling the Bandwidth transcription in the process
Error String becomes an exception

So that singletons can be added, for example
Do not use the promise results here, since they are meant for elsewhere

Explicitly return true to avoid passing to next link in the tree.  Make sure
command stanzas fulfill both command and iq manager if needed.
Merge branch 'dry-sentry'

* dry-sentry:
  DRY up sentry and logging
Merge branch 'vcard4'

* vcard4:
  Switch TTS OGM from vcard-temp to vcard4 PEP
DRY up sentry and logging

Wrap every blather handler in sentry setup and exception capturing so each route
doesn't have to handle it seperately.

panic is a last resort, usually better to return an XMPP error and report/log,
so default to that.

Also wraps each handler in a span. Note that for multistage command handlers
this span is too long and they will want to call finish/set_span internally.
Merge branch 'background-log'

* background-log:
  Log in background thread
  Don't run our whole app in an at_exit
Log in background thread

File IO is fast, but can still block reactor.
Don't run our whole app in an at_exit

We don't use much of it, and this makes using other at_exit hooks more realistic.
Merge branch 'new-blather'

* new-blather:
  Update to latest blather upstream
  notify_customer helper
Fix for em-pg-client and latest pg gem