Move the per-connection read/write handling to the connection itself. Broke our massive test suite. Oops.