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.
Add some loop tests.