Remove jQuery from requests.js (bug 879504)

This removes jQuery from requests.js by externalizing Deferreds to the
new 'defer' module and converting use of `$.ajax` to a function which
uses XmlHttpRequest directly.

The long-term benefits of this include the ability to release libraries
which are independent of jQuery and jQuery-compatibility-related issues
as well as to allow us to migrate to jQuery 2.0.1 and eventually
(potentially) Zepto.