Added documentation
Convert go routine to saner timeout
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
Merge branch 'dev' of github.com:mozilla-services/pushgo into feature/client_pong

Conflicts:
	CHANGELOG.rst
More merge fun, removed AlwaysRoute detrius
Merging #175.
Add a `Socket` interface.
Use a read deadline instead of `time.AfterFunc`.

This avoids spawning an extra goroutine per connection, and makes it
easier to test the worker run loop.
Initial worker tests.
`Socket.Read*`: Return the received message.

`websocket.Message.Receive(conn, *data)` always assigns a new value to
`*data`. `*data` is only used in a type assertion to determine whether
to read a text or binary frame.
Add `WorkerWS.Deadline()`.