Closing a connection that has usageCount > 1 "should never happen". However, it can happen if JdbcPooledConnection.getConnectionHandle() throws a SQLException - e.g. if testConnection() fails. So ensure that JdbcPooledConnection.getConnectionHandle() decrements usageCount again if it fails.

This fix is currently only for "correctness" w.r.t. JdbcPooledConnection's documented semantics. The only visible effect is seeing fewer warnings in the log.