Fix `xhr.setRequestHeader()` in Ajax `beforeSend`

I broke this in 23d1879d55e89b4a375aaa1aefd71ff2582deabc, where I
promised to make more Ajax settings configurable in `beforeSend`.
However, it drifted away from jQuery compatibility.

In both jQuery 1.10 and 2.0, the state in `beforeSend` is:

- `settings.data` is `undefined` for GET requests, as it was already
  serialized and added as query params to the URL.
- `settings.headers` is `undefined` if an object was not originally
  specified in the request, but otherwise adding or changing the values
  in it has no effect. This might be a jQuery bug, since its
  documentatation clearly indicates that you should be able to
  add/change header values this way.
- `xhr.setRequestHeader()` is available, although technically
  `xhr.open()` hasn't been called yet.

Since the native `setRequestHeader()` can't be called before `open()`,
I replaced it with our custom method that collects the header values
until they're ready to be applied to the XHR object.

Fixes #878
release v1.1.2
"at a minimum" is the grammatically correct way to phrase it
Merge pull request #885 from waynn/patch-1

"at a minimum" is the grammatically correct way to phrase it
Update copyright years
"Thomas Fuchs" are not valid keywords in JS (yet)

Fixes #892
Use node 0.10 on Travis to avoid SSL error

Using npm with node 0.6 results in "SSL Error: CERT_UNTRUSTED":
https://travis-ci.org/madrobby/zepto/builds/16195932

See isaacs/npm#4379
Merge remote-tracking branch 'zepto/master'