Improve the robustness of web application undeployment based on some code analysis triggered by the report for BZ 54315

git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1575262 13f79535-47bb-0310-9956-ffa450edef68
Add experimental NIO2 connector
Switch the default connector back to NIO1
Remove forgotten debug.
- Fix socket <-> processor association when a read for the request line is pending.
- Go back to a more conventionnal accept thread in the end, it's simpler (although it did highlight the first issue somehow).
- Use a separate thread for timeouts since the acceptor is more conventional.
- Notice in some tests some issues with the blocking flush when ending a request, so add some code to make it wait for pending writes.
Improve on some non blocking IO issues, still working on output corruption in the test case
Non blocking error handling and cleanups.
- Fix upgrade init (and remove the hack).
- Fix input flip state in upgrade mode.
Remove author tags and cleanup.
Set additional properties through introspection on the endpoint.
Remove the hacks and fix corruption.
Use awaitBytes on comet long poll.