Ensure that HTTP upgrade responses are flushed as the normal code path for this is bypassed when using HTTP upgrade.

git-svn-id: https://svn.apache.org/repos/asf/tomcat/tc7.0.x/trunk@1516616 13f79535-47bb-0310-9956-ffa450edef68
Ensure destroy() method of upgrade handler is called

git-svn-id: https://svn.apache.org/repos/asf/tomcat/tc7.0.x/trunk@1516626 13f79535-47bb-0310-9956-ffa450edef68
Back-port APR/native changes required to support JSR-356
Significant changes are:
- Switch to a single Poller with multiple Pollsets
- Enable HTTP upgrade connections to use concurrent read/write
- Lots of refactoring and clean-up

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