Make `then` Promises chainable

It's not quite compliant with the full spec, because it is still
mutating the same Promise instead of returning a new one. But it's a
step in the right direction.
support for cross origin requests
Merge branch 'chainable_promises' of https://github.com/iangreenleaf/reqwest

Conflicts:
	reqwest.min.js