testsuite.py: embed the test in a class

The idea is to be able to run several tests in parallel. For that, we
first need to embed each test in its own class, so that we can manupilate
easier objects.
testsuite.py: silent evemu err messages
testsuite.py: use Popen rather than call for calling hid_replay

Using Popen makes it possible to do treatments between the actual call and
the wait for the process to end.
compare_evemu.py: compare produces output either to stdout or a given buffer
testsuite.py: gather all prints before sending them out at once.
testsuite.py: add global lock for being thread safe

The global lock is a little bit huge, but it's the only way to have
only one udev monitor dealing with the right test.
testsuite.py: refactor launching of tests
testsuite.py: use getopt for options at launch
testsuite.py: man: DB_DIRECTORY is not mandatory
testsuite.py: fix the assignment of currentRunningHidTest

currentRunningHidTest should be set only when the test really starts.
testsuite.py: protect the global tests results list in the lock
testsuite.py: add multithreading execution