Add rate limiting

This pull request adds support for rejecting incoming connections if too many goroutines are active at once, and rate limits HTTP requests from origin IPs. `RateLimitedHandler` uses a token bucket implementation ported from [`node-restify`](https://github.com/mcavage/node-restify).
Aha, makes sense. I was wondering if there's an infamous network appliance that blocked one but not the other. :smiley: I'll rename the option to `tcp_keep_alive_period` to distinguish it from WebSocket and Simple Push `ping` messages, too.