feat(metrics): Add metrics gathering.

* Use SpeedTrap to collect client side metrics
* Add screen views and errors to an event stream.
* Metrics are sent to the `/metrics` endpoint on document unload.
* Data that is sent to the backend is filtered - only data we expect is sent.
* auth-errors.toMessage now accepts `forceMessage`