To make it easy for users to report errors / developers to know which error is being reported, we should show the user an error id so they include it in the bug report.
* generate an id from the error when it is caught (Sentry just created a random UUID so we should go with that)
* log it to the console for automatically caught exceptions
* for manually caught exceptions, provide a method in `mw.errorLogging` by which developers can send the exception to Sentry and get back an error id. While the reporting itself is async, return the error id should not be.
This will also help with tracking down whether Sentry properly collects all errors.