Initial import

This is my first push of code to GitHub, made as a pull request for easier review
Potential gotcha: the `cache.addAll()` polyfill [constructs `Request`](https://fetch.spec.whatwg.org/#dom-request) objects without specifying the `mode` option, which will lead to the default mode of `cors`. This means that if any of the URLs passed in don't support CORS/aren't local URLs, they'll fail to be added to the cache.

A way of working around this is to pass in an array of pre-constructed `Request` objects with `{mode: 'no-cors'}` set to `cache.addAll()`. You can see an example of this along with a discussion of the drawbacks (the `Response`s will all be opaque) at https://github.com/GoogleChrome/samples/blob/gh-pages/service-worker/prefetch/service-worker.js#L50