feat(client): Add support for the `resume` token.

This build on #1645 and should be reviewed afterwards.

* `resume` is imported from the URL and stored in the Relier.
* fxa-client sends the token to the auth server in `signUp`, `signUpResend`, `passwordReset`, and `passwordResetResend`

issue #1623
Maybe I'm confusing this code somewhat, but isn't this basically reinventing [`querystring.stringify()`](http://nodejs.org/api/querystring.html#querystring_querystring_stringify_obj_sep_eq)?

```js
var qs = require('querystring');
function toSearchString(obj) {
  return "?" + qs.stringify(obj);
}

toSearchString({name:"stom", smart:"sure, why not"});
// '?name=stom&smart=sure%2C%20why%20not'
```

If I do the same input using your function, it is mostly the same, but the query string values aren't encoded (which may or may not matter depending on what the data is and where it comes from):
```js
toSearchString({name:"stom", smart:"sure, why not"});
// '?name=stom&smart=sure, why not'
```

So switching to `pairs.push(key + '=' + encodeURIComponent(obj[key]));` seems to make your output consistent w/ `querystring.stringify()`: `'?name=stom&smart=sure%2C%20why%20not'`