Assign to self

`isomorphic-fetch` will need to be changed to stub `global.self` instead of `global.window`.

https://github.com/matthew-andrews/isomorphic-fetch/blob/master/server.js

Changes #48.
Obsoletes #49, #50.

cc @dgraham @matthew-andrews @knowledgecode
It might make more sense to switch the [`worker` option on](http://jshint.com/docs/options/#worker) rather than defining `self` as a global.

(Similarly but potentially less importantly you could choose to [switch on `esnext`](http://jshint.com/docs/options/#esnext) instead of defining `Promise` as a global — but that defines a larger amount of stuff that you might not want defined)