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
@jeffposnick 
navigator.serviceWorker.getRegistration has been implemented recently in Chrome canary (39).

It's still true that it is safe to call register with the same script and scope multiple times but should we advertise the more natural way of doing things instead (i.e. getRegistration, register if undefined)?

/cc @jakearchibald