Eager association of logicals to physicals was causing connection bloat.
Greatly reduced connection usage, by improving re-use, and only allocating physical backends when it's necessary to provide a reasonable level of performance.

We now properly re-establish association with global & local TX connections in a single-pass, and make a second pass over the list of physicals only when we need to
establish an association for the first time (global tx or local tx).
Added a test case to verify that we weren't closing connections we shouldn't be.
Even more tests about connection association...