testsuite: remove some global variables
testsuite: wait also for hid udev events, to now the name of the uhid device
testsuite: split HIDTest in 2

the idea is to be able to either run the test and compare the results,
or to run the test and just output the evemu output.

This way, the code is a little bit cleaner (hopefully).
testsuite: add option to dump only the different evemu traces
testsuite: get the kernel release in main()
testsuite: create HIDTestDatabase and split in several files

The database object stores both the list of (skipped) files and their
expected result, but also the actual results of the tests.
This way, we can split the big file testsuite.py in several distinct
files as we removed the global variables.
testsuite: allow the possibility to overwritte the kernel release
testsuite: do not start xi2detach if there is a problem in the arguments
compare_evemu: allow calling compare_sets() with file names
hid_test: introduce Compare class

class aimed at comparing expected and results, even if we do not called
hid-replay, but we give the evemu outputs
compare_evemu: allow dump_diff() to take file name instead of opened files
testsuite: allow to compare outputs without having to call hid-replay

this allows to split the tests accross several machines:
- each machine run the tests with in the Evemu mode only (-E)
- the master fetch all the outputs and compare the results to its current
database
testsuite: compute the number of total test more accurately
add snippet to kill the test when it blocks
testsuite: for evemu checks use the basename

for the evemu checks, we need to use only the basename, and not the full
path
man: fix missing option