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
I'm going to leave as-is, as I haven't seen anything in the public issue tracker discussion indicating that `getRegistration()` followed by a conditional `register()` is the One True Pattern.

Happy to switch if I've missed the latest recommendation.