refactor(client): Asynchronous rendering!

* Asynchronous can be used to check for prerequisites/errors before printing the template, preventing flashes of content before being fully ready.
* Only show the contents of the new screen once all async operations are complete.
* Add fxa-client.js->isSignedIn to check if a user is signed in with the given token.
* Move fxaClient creation from form.js into base.js so that authentication can be checked.
* Clean up base.js->render and the isSignedIn check.
* Update all the vew tests to expect async rendering.

issue #788
chore(client): Cleanup based on comments.

* Remove invalid comment
* Reorder functions to make review easier
fix(server): Ensure fonts have cacheable URLs.

* Serve fonts statically until connect-fonts has its business in order.

fixes #384
chore(client): Change `too many retries` to `Unexpected error`.

* Used if browser does not respond to a message sent to it.

fixes #725
Merge pull request #896 from mozilla/issue-725-too-many-retries

chore(client): Change `too many retries` to `Unexpected error`.
feat(client): updating js client to 0.1.18
Merge pull request #899 from vladikoff/js0.1.18

feat(client): updating js client to 0.1.18
Merge pull request #890 from mozilla/issue-788-async-render

refactor(client): Asynchronous rendering!
Merge pull request #895 from mozilla/issue-384-cache-fonts

fix(server): Ensure fonts have cacheable URLs.
fix(client): Enable back button functionality when visiting `/`.

* use history.replaceState instead of history.pushState when redirecting from `/`.

fixes #763
Merge pull request #897 from mozilla/issue-763-redirect-on-startup

fix(client): Enable back button functionality when visiting `/`.

@nchapman gave the r+, I rebased. Merging.
feature(client): Add a `/cookies_disabled` page.

* Add a cookies_disabled template, view, and test. Provides a link to SUMO to get help as well as a "try again" button.
* Split off most of the code from main.js into lib/start-app.js so that it can be tested.
* Split off config loading into its own modules, lib/config-loader.js so that it can be shared.

fixes #738