feat(client): Add support for `preVerifyToken`.

`preVerifyToken` is sent by trusted RPs to indicate that a user is already verified. The Auth Server
then does a dance with the trusted RP to determine whether to create an account for the user without
the need to verify their email address. If the user is pre-verified, the signup flow completes at the
`/signup_complete` screen. If the pre-verification fails, the user is still requried to verify their
email address as is currently done.

This PR also introduces the concept of a `Relier` model. A Relier is a model
that represents an RP and information about/from the RP.

issue #1540

Items that still need to be completed:
* [ ] - Update the fxa-js-client to pass along `preVerifyToken` - See https://github.com/mozilla/fxa-js-client/pull/127
* [ ] - Update the fxa-auth-server to handle `preVerifyToken` - See https://github.com/mozilla/fxa-auth-server/issues/780
Plot thickens: https://github.com/jshint/jshint/releases/tag/2.5.0

> _The following options were removed: `nomen`, `onevar`, `passfail`, `white`, `gcl`, `smarttabs`, `trailing`. In addition to that, `indent` no longer provides warnings about indentation levels. You can still use it to set your tab-width but it will be used only for character locations in other warnings. JSHint won't error if you have these options in your config or your files; it will simply ignore them._

But I can confirm that setting my `indent` to 23 in _app/.jshintrc_ did exactly nothing and was suitably ignored.