removed surplus testexecutionlistener (AbstractDatabaseHandlerTestIntegration already does the same thing)
Added ReinitContextTestExecutionListener

Same as @DirtiesContext, but reinits appcontext _before_ executing tests, which allows not having to specify @DirtiesContext for every test, yet be able to set system properties to influence appcontext creation before executing test class
Also added todo to drop default @DirtiesContext in favor of this solution
Added extra error handling into LoggingDriver
Added design flaw note
Made ThreadLocal static to avoid case when multiple ApplicationContexts would instantiate multiple LoggerContexts, thus multiple ThreadLocals, but static/non-spring code like JDBC still accesses only one of them at the same time, rendering LoggingDriver useless