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.
fix(legal): fix rendering of legal pages when loaded directly via url

Fixes #1372.
fix(l10n): use correct locale if specified in url for legal pages

Fixes #1337.
Merge pull request #1376 from mozilla/issue-1372-legal-blank-rendering

fix(legal): fix rendering of legal pages when loaded directly via url
Merge pull request #1392 from mozilla/issue-1391

feature(style): improve small screen UI
Release v0.17.0
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.