Fix DBCP-180
The garbage collector needs to be able to collect JDBC resources that the client is no longer referencing. The AbandonedTrace code was stopping this. This has been fixed by using WeakReferences. A secondary issue was that pooled statements would not get returned to the pool once the WeakReference was used since AbandonedTrace lost the ability to trace all the child resources. Use of a finalizer (I couldn't think of a better way) addresses that.

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