Detailed Service Worker registration example.

@jakearchibald @KenjiBaheux

This sample takes things a step further by attempting to illustrate aspects of a Service Worker registration:
- Whether SW is available
- Whether the current page is already controlled by a SW
- Whether the current registration attempt represents the `installing`, `waiting`, or `active` SW
- The state transitions of the SW associated with the current registration

You can view a live demo at https://rawgit.com/jeffposnick/samples/sw-registration-events/service-worker/registration-events/index.html
Kenji's understanding is right. The registration is really the association between a scope and a number of Service Workers that move through it over time. You can have installing, waiting and active all refer to different ServiceWorker objects simultaneously.