Refactored functions related to reading from fcgi::client to fcgi_request_service to remove the need for any circular dependency. Now you have the client as an AsyncWriteStream and the request as an AsyncReadStream: so you read into the request and write to the client... Seems natural.
I haven't updated the relevant bits for the other protocols, I'm going to leave that in case this turns out to be a bad way (it should be OK).
Note:
- read_some isn't implemented yet.
- the process_* functions work to varying degrees, but don't finish their jobs yet: that was due to the circular dependency issue mentioned above.
- Only tested on linux/apache