Added test cleanup listener to detect untidy tests

After each test suite, detects whether there are stray datafiles, hooks
or proxies, then show a warning and clear them.

Note: the current version will output extra info that mixes itself with the phpunit dots which might not wanted.

@schiesbn @karlitschek @DeepDiver1975 @icewind1991 

I'm not sure whether this is the right approach or whether it's fair.
Maybe we should just clear silently after all tests and not expect every test file to have the same cleanup code in their `tearDownAfterClass`. If we do, then we can put this code in a utility function `OC_Test::cleanup()` that will tear down everything (maybe even DB stuff) to make sure that every test run in a clean state.

To be discussed.
You'll see the result once Jenkins is done.