Refactor the closing of DelegatingConnection and sub-classes to correctly handle closing and passivation of connections when one DelegatingConnection wraps another.
The problem was discovered while exploring some refactoring options and is now tested using the additional unit test.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/dbcp/trunk@1547553 13f79535-47bb-0310-9956-ffa450edef68