brush up tests, don't swallow exceptions, throw them
Many updates to connection handling and destruction
 - several classes didn't dispose of connections properly which caused the test suite to hang.