* Keep track of how many times we couldn't do keep-alive from the backend.  This
  happens if the backend server is doing chunked encoding or doesn't provide a
  content length.

* Allow option to say O_EXCL for PUTs

* Investigate/fix error with "no mapping for fd" when a socket abruptly closes
  during the connect process.  (Run ab against perlbal, then Ctrl+C it.)

* Investigate when BackendHTTP fails on a call to get_res_headers?

* Fix shutdown graceful to close off persistent clients and bored backends (reproxy too?)
  (This is done already?)

* Document the 'reproxy bored' queue [old...new] self cleaning on the old side, but
  uses the new side when it needs a connection

* Lots of work can be done to reduce system calls:
  - coalesce epoll_ctl calls
  - make socket by hand without IO::Socket::INET
  - don't cork twice on reproxy & send

* Support dictionary (scratch hash) per service
  - can configure keys to send to backends
  - backends can set keys in dictionary (so they propogate to other backends, etc)

* Allow configurable response code that means "backend dead; replay request"

* Plugins to say what HTTP requests are known idempotent and re-playable in case
  of errors.  Also option to say that all GETs or urls matching certain rules
  are idempotent

* rule service selector

* way for management commands to hold state (absorbing all future commands)
  .. for defining rules, etc

* let rules map to pools (selectors), or set things like idempotent

* disabling services that have no listen configured anyway --- can they still be selected to?
