Added documentation
Gracefully close HTTP and WebSocket connections.
Split up WebSocket, update, and health handlers.

* Move `sendClientCount()` to `Application`.
* Refactor `RealStatusHandler`.
Move locator health check to `Router.Status()`.

Closes #156.
Add graceful shutdown. Closes #139.

* Add `IsEtcdKeyNotExist()`.
* `app.Stop()` => `app.Close()`.
* Move `{Set}Locator()` to `Application`.
* Add a `close_delay` option for `Etcd{Locator, Balancer}`. This option
  should be set to 1-2 times the refresh interval.
Use a stronger PRNG seed.
Close all servers on exit.
Add `HostPort()`.
Convert go routine to saner timeout
Update the change log and sample config.
Refactor closing logic into a `Closable` type.
Singularize `{Socket, Endpoint}Handlers`.
Use the application logger to report run errors.
Avoid exporting `isEtcdCode`.
Note additional config changes and features.

Closes #180.
Add docs for `Closer`.
Clean up TODOs.
Use the client map to disconnect clients.
rebase
Merge branch 'feature/client_pong' of github.com:mozilla-services/pushgo into feature/client_pong

Conflicts:
	config.sample.toml
	src/github.com/mozilla-services/pushgo/simplepush/app.go