Issue 412 error message interpolate

Builds on #542 and should be reviewed after that.

* authErrors.toMessage can now take an error from the backend as well as other types.
* Add authErrors.toContext which fetches context for string interpolation from data returned from the backend.

fixes #412