Add @functools.wrap and expose db_connection in tests @db_connect

Adding @functools.wrap allows individual test methods to be called by
not changing the method names to "wrapped", the inner function name of
the decorator.

Any methods using @db_connect now also have access (self.db_connection)
to the database connection object.  It is sometimes useful to be able to
commit to the database in the middle of a test.