More non-blocking IO plumbing for the AJP APR/native connector.
This will allow reads to be non-blocking between messages (if desired) but remain blocking once a message starts. A more sophisticated approach to non-blocking could be taken but this approach is similar to how NIO does it and, depending on how mod_jk writes and reads data, may be all that is realistic.

git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1519052 13f79535-47bb-0310-9956-ffa450edef68
Remove the second (almost identical) read method and hook everything up to the new read method with optional blocking.
The only non-blocking read is for the first byte for the second and subsequent requests on a kept alive connection to enable the worker thread to return to the pool if there is no request to process.
Both the behaviour and code should be more similar to the AJP NIO connector now. More refactoring to follow.

git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1519053 13f79535-47bb-0310-9956-ffa450edef68
Complete a TODO that allows the receive() method to be refactored so it is identical in all three AJP processors

git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1519057 13f79535-47bb-0310-9956-ffa450edef68