refactor(client): Share code between auth-errors.js and oauth-errors.js.

* Each object keeps a reference to the error value tables to use, allowing for code to be shared.
* Add some basic tests for oauth-errors.js to ensure things work as expected.