feat: Add front end 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 or after 10 minutes of inactivity.
* Data that is sent to the backend is filtered - only data we expect is sent.
* Data collection sample rate is set by server configuration.

Other logged events:

* users who cancel login from the browser.
* complete_reset_password:link_damaged
* complete_reset_password:link_expired
* complete_signn_up:link_damaged
* confirm:too_many_attempts
* confirm:resend
* confirm_reset_password_resend
* login:canceled

Others changes:
* AuthErrors.toMessage now accepts `forceMessage`
* Change AuthErrors.toCode to accept an error object.
* Give `Session expired` an error code of 1002.

issue #1119
Merge branch 'metrics'

Conflicts:
	server/config/awsbox.json