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
Is this the correct way to get the SW associated with the current registration? Is it safe to assume that the current registration corresponds to exactly one of `.installing`, `.waiting.`, or `.active`, in that order?