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.
chore(client): Whitelist allowed oauth parameters that can come from the URL.

* Add whitelist capabilities to Url.searchParams
* This is an effort to understand the OAuth flow better.
* List of parameters comes from https://github.com/mozilla/fxa-oauth-server/blob/master/docs/api.md#post-v1authorization
feat(metrics): Add screen width and height to the metrics.

* width reported as `screen.width` in the logs.
* height reported as `screen.height` in the logs.

fixes #1373
Merge pull request #1395 from mozilla/oauth-search-param-whitelist

chore(client): Whitelist allowed oauth parameters that can come from the URL.
tweak(templates): remove style dependencies from stage
Merge pull request #1390 from mozilla/refactor-oauth-errors

refactor(client): Share code between auth-errors.js and oauth-errors.js.
refactor(client): Extract common code in displayError and displayErrorUnsafe, pass in a write strategy.

fixes #1402
Merge pull request #1403 from mozilla/issue-1402-refactor-display-error

refactor(client): Extract common code in displayError and displayErrorUnsafe, pass in a write strategy.
refactor(client): Convert jQuery AJAX promises to Promises A+ promises.

jQuery AJAX promises are not Promises A+ compatible and can cause unexpected behavior. Monkey patch p to add a jQueryXHR function, and replace all references to 'p-promise' with 'lib/promise'.

fixes #1406
Merge pull request #1397 from mozilla/issue-1370

tweak(templates): remove style dependencies from stage

r+. I'm happy with this.
Merge pull request #1398 from mozilla/issue-1373-screen-size-metric

feat(metrics): Add screen width and height to the metrics.
Merge pull request #1407 from mozilla/issue-1406-jquery-promise

refactor(client): Convert jQuery AJAX promises to Promises A+ promises.
refactor(tos-pp): wrap jquery deferreds on tos/privacy pages
refactor(signin): remove unused signin_complete view
Remove the last remnants of "sign_in" in the "ready" view.
Merge pull request #1416 from mozilla/issue-1414-wrap-jquery-ajax-legal

refactor(tos-pp): wrap jquery deferreds on tos/privacy pages

Beautiful.

@zaach - don't forget to update https://github.com/mozilla/fxa-content-server/pull/1413/files#diff-5869372ee85f1dc309d7305957b51fe8R48 for this change.

r+
Merge pull request #1417 from mozilla/issue-1378-signin-complete

Issue 1378 signin complete

Looks great, thanks @zaach!

r+
fix(fxa-client): remove lang from fxa-client requests

Fixes #1404.
fix(tos-pp): rely on accept headers instead of naviagor.language for partial requests

Fixes #1412.
Merge pull request #1413 from mozilla/issue-1404-remove-lang

Remove `lang` from fxa-client and partial requests

rebased, re-pushed, checked German - looks great. r+