Add `PushWS.{UAID, SetUAID}()`. Closes #107.
`pipeTo`: Forward write errors to the reader.
Reintroduce data for proprietary pings.
Add coverage reports.
Enable Coveralls integration.
Test on Go 1.4.
Retry GCM requests.
Merge pull request #149 from mozilla-services/feature/propping-data

Reintroduce data for proprietary pings
Merge pull request #150 from mozilla-services/feature/cover

Add code coverage reports
Remove the duplicate client check. Closes #141.
Merge pull request #152 from mozilla-services/bug/dupe-check-141

Remove duplicate client check
Merging #107.
Add balancers.

* Add a `Balancer` interface and `{Etcd, Static, No}Balancer`.
* Enable client redirects. `Worker.Hello()` returns a 302 if a peer is
  available, or a 429 if the cluster is full.
* Clean up etcd-related log messages.
`EtcdLocator`: Don't set `lastFetch` for errors.

Rename the etcd polling and publication functions for clarity.
`loadEnvConfig`: Avoid decoding into nil structs.
Add balancers to the config loading tests.
Bump envconf.
Add retries to `EtcdBalancer`.
Clean up `Application.Stop()` and config comments.