cleanup(test): Use the `fillOutSignUp` functional helper to reduce duplication.
fix(server): Allow the 500 and 503 pages to be iframed.

fixes #1978
Merge pull request #1979 from mozilla/issue-1978-iframe-error-pages

fix(server): Allow the 500 and 503 pages to be iframed.
Merge pull request #1971 from mozilla/cleanup-sign_up-functional-test

cleanup(test): Use the `fillOutSignUp` functional helper to reduce duplication.
refactor(client): Simplify the error handling code.

* Rename `code` to `errno` to be consistent with the backend.
* Use a single hash called ERRORS for each namespace. The has contains both `errno` and `message`
* Extract `errors.js` from logic that was in `auth-errors.js`
* Extract `profile-errors.js` from logic in `profile-client.js`

fixes #1508
feat: Check for required OAuth parameters on startup.

If either `scope` or `client_id` is missing/invalid, send the user to `/400.html` and show them an error message.

* Add the 400.html page.
* Check for required parameters in the OAuth relier.
* If the `client_id` is invalid, show the user `Unknown client`
* Augment necessary errors with a `redirect` field. In app-start.js, if the error has the `redirect` field, redirect there instead of the 500 page.

Add two new OAuth errors:
* 1005 - Missing `client_id`
* 1006 - Missing `scope`

fixes #1740