Force trac to use separate db connections for different environments when running tests.

Unittests in python2.7 run in the same process and share the same connection
pool. This basically means that all tests share the same in-memory database,
and calling reset_db in teardown methods destroys data prepared in __init__
of other tests. Trac tests do not do prepare data in __init__, but when run
with a product env, which stores config values to database, this behavior
causes multiple tests to fail.

We workaround this issue by monkey patching trac's ConnectionPool. We force
it to establish a separate connection for each DatabaseManager.


git-svn-id: https://svn.apache.org/repos/asf/bloodhound/trunk@1485255 13f79535-47bb-0310-9956-ffa450edef68