util: more bullet-proof `global()` function

Somebody could easily add a fake global `window` variable in node, and things
would have been thrown off before. With this logic, the *real* "global" is
always returned.
use "component/global"
util: use "component/global"
transport: fix whitespace
use "component/has-cors"
.travis.yml: stop testing v0.6, start testing v0.10
transport: set the `agent` field, defaults to `false`
websockets: pass the `agent` option to the WebSocket constructor
package: specify a newer version of "ws" that includes `agent` support
package: point "xmlhttprequest" to our LearnBoost fork

Which currently includes support for the `agent` option for passing a custom
`http.Agent`.
util: make the request() helper accept an "options" object
util: add jsdoc comment
polling-xhr: pass the `agent` option to the XMLHttpRequest constructor
transports: pass the options to the `util.request()` function

Probably not strictly necessary in this case...

In fact, I can't seem to find this `poller()` function being used anywhere
in the codebase in the first place! It only seems to be invoked in the tests...
package: add "scripts.test" field, for Travic-CI
test: add `agent` option tests for WebSocket and XMLHttpRequest backends

The `agent` option is only relevant for Node.js...
use updated `component/global` API
socket: pass through the `agent` option to the Transport
README: document `agent` option
Merge pull request #185 from LearnBoost/add/httpAgent-support

Add `http.Agent` support