Use a single greenlet per connection and send PINGs.

This should reduce memory usage and sending PINGs ensures that we keep
any intermediate proxies happy.

The distribution of wakeups for pings should be a poisson process and
therefore relatively smooth.
config: Get rid of AttrDict for simplicity.
Yield when dispatching to avoid starvation.
Remove haproxy from the mix. Connect directly.
Increase the gunicorn max connection count.
Add skeleton of periodic stats reporting.