fix(trusted ui) remove our select box background image
Combine CSS declarations for `&.select-focus` and `&:hover`
fix(client): Fix CORS requests not being decoded for Fx<21

Fx < 21 has a problem where it returns an emtpy string when calling
xhr.getAllResponseHeaders() for CORS requests. jQuery uses the
'Content-Type' header to do smart decoding of content. Since jQuery
cannot get the correct type, it returns JSON content as text, causing the app
to blowup whenever trying use the returned data as an object.

We also have issues where jQuery does not return Promises/A+ compliant promises
from its XHR functionality. We convert between jQuery deferreds and promises on
every request.

Instead of leaving these two problems to be solved on an ad-hoc basis, a simple
xhr wrapper library is created that surfaces the functions we make use of. All
functions return a Promises/A+ compatible promise. The default dataType is set
to JSON if not already specified.

fixes #1786
Merge pull request #1800 from mozilla/issue-1776

fix(trusted ui) remove our select box background image

fixes #1776
Merge pull request #1808 from mozilla/issue-1786-cannot-oauth-signin-fx18

fix(client): Fix CORS requests not being decoded for Fx<21

fixes #1786
r=ckarlof, zaach
fix(oauth): fixes WebChannel double submit during password reset
fix(test): fixes setTimeout tests in FF18

fixes #1817
Merge pull request #1812 from vladikoff/issue-1809-double-submit

fix(oauth): fixes WebChannel double submit during password reset

fixes #1809
r=ckarlof
Merge pull request #1820 from vladikoff/issue-1817

fix(test): fixes setTimeout tests in FF18
Release v0.25.0
feat(client): Add some brokers!

* Start to add brokers that know how to startup/complete flows.
* 5 brokers to start, base, oauth, fx-desktop, redirect, web-channel.
* Get rid of the Channels high level abstraction, these are used directly by the brokers if needed.
* Move some code from service-mixin and various channels to brokers.
* Update tests to make use of the brokers.
* No longer save forceEmail to Session, get it from the relier.
* Remove the `signIn` from `completeResetPassword` in the FxaClient, this is now done in the views.
* No longer call `signIn` from `changePassword` in the FxaClient, this is now handled by the views. This allows the signature of `changePassword` to be much smaller.
* Move the re-link check from fxa-client to the views to allow finer grained control over when they are presented.
* Remove Session.forceAuth handling from fxa-client.js, this is now stored in relier.email
* Create a search-params mixin in models/mixins.
* Migrate signin/signup/verification finishing code from service-mixin to the brokers so each broker can do their own thing.
* Really shrink service-mixin to a bare bare minimum, fix the unit tests, make sure all the current functional tests pass.
* Extract a ChannelMixin for use by the brokers.
Rip out lots of functions from the broker that might not be needed.
feat(client): Add some brokers!

* Start to add brokers that know how to startup/complete flows.
* 3 brokers to start, fx-desktop, redirect, web-channel.
* Get rid of the Channels high level abstraction, these are used directly by the brokers if needed.
* Move some code from service-mixin and various channels to brokers.
* Update tests to make use of the brokers.
* No longer save forceEmail to Session, get it from the relier.
* Remove the `signIn` from `completeResetPassword` in the FxaClient, this is now done in the views.
* No longer call `signIn` from `changePassword` in the FxaClient, this is now handled by the views. This allows the signature of `changePassword` to be much smaller.
* Move the re-link check from fxa-client to the views to allow finer grained control over when they are presented.
* Remove Session.forceAuth handling from fxa-client.js, this is now stored in relier.email
* Create a search-params mixin in models/mixins.
* Migrate signin/signup/verification finishing code from service-mixin to the brokers so each broker can do their own thing.
* Really shrink service-mixin to a bare bare minimum, fix the unit tests, make sure all the current functional tests pass.
* Extract a ChannelMixin for use by the brokers.
Simplfication

* Remove broker.shouldReadyScreenAutoSubmit, the before/after functions can take care of this already!
* Remove broker.checkSupport, this should be taken care of by getStartPage.
Rename functions.

* `beforeSignUpConfirmed`=>`beforeSignUpConfirmationPoll`
* `afterSignUpConfirmed`=>`afterSignUpConfirmationPoll`
* `beforeResetPasswordConfirmed`=>`beforeResetPasswordConfirmationPoll`
* `afterResetPasswordConfirmed`=>`afterResetPasswordConfirmationPoll`
feat(client): Add some brokers!

* Start to add brokers that know how to startup/complete flows.
* 3 brokers to start, fx-desktop, redirect, web-channel.
* Get rid of the Channels high level abstraction, these are used directly by the brokers if needed.
* Move some code from service-mixin and various channels to brokers.
* Update tests to make use of the brokers.
* No longer save forceEmail to Session, get it from the relier.
* Remove the `signIn` from `completeResetPassword` in the FxaClient, this is now done in the views.
* No longer call `signIn` from `changePassword` in the FxaClient, this is now handled by the views. This allows the signature of `changePassword` to be much smaller.
* Move the re-link check from fxa-client to the views to allow finer grained control over when they are presented.
* Remove Session.forceAuth handling from fxa-client.js, this is now stored in relier.email
* Create a search-params mixin in models/mixins.
* Migrate signin/signup/verification finishing code from service-mixin to the brokers so each broker can do their own thing.
* Really shrink service-mixin to a bare bare minimum, fix the unit tests, make sure all the current functional tests pass.
* Extract a ChannelMixin for use by the brokers.
refactor(client): FxaClient no longer takes a relier in its constructor.

* Instead of creating the FxaClient with a relier in its constructor, pass a relier instance to the functions that need it.
* Since we had to update any unit test that used fxaClient.signUp to pass in a relier, it was easy to update the tests to no longer touch the server.

issue #1777
Relier is a required parameter to any fxa-client functions that need it.
fix(avatars): load profile image on settings and sign in pages if available

Fixes #1727.
fix(avatars): ensure the default image background is covered by the profile image