Request drains & pausing

Closes #65. Closes #56.

This brings the TCP backend closer to HTTP, as well as implements backend pausing and request drains. 

Should be able to change this to `len(s.requests) == 0` if you delete when they hit zero.