(#1222) - update mapreduce
(#1223) - xhr.upload does not exist in IE9

We want to support IE9 at least for the
http adapter, but xhr.upload does not
exist, so this function is throwing.
(#1224) - don't mutate options object
(#1224) - Revert "don't mutate options object"

This reverts commit f6889de72fae1fa7d63d44cd39e87213fcf36d1d. I
realized it's a regression and actually broke some tests.
(#848) - add promises
WIP: fix attachments in websql
attempt to get cross-browser compatibility to work consistently, safari is still really flaky
fix jshint errors
fix safari unicode bug
fix mistake in previous commit
do string tests rather than browser sniffing, confirm that websql attachment tests work in safari/opera/chrome/chromium