test-compositor: add tc-events.[ch]

This is support for simulating events. It will be used by
test-compositor.
test-compositor: add libtc-server library

Server side functions
test-compositor: add client-side functions

Add functions which can be used by client's subprocess. The header has
been already added.
test-compositor: add main header file

Add test-compositor header file
tests: look even for test-compositor headers

Search for headers in test-compositor/ dir
test-compositor: add README
autotools: link against test-compositor libraries

Tests using test-compositor need to be linked against it
tests: add wl_shm test

The test uses test-compositor
test-compositor: use waitid instead of waitpid

It allows better handling of errors. One test failed but was marked OK
because sighandler didn't catched SIGSEGV.
tests: add wl_proxy tests

Few tests using test-compositor. It tests marshaling proxy and some
errorneous behaviour.
tests: add wl_global tests

Test if creating two globals with the same id and creating global
with wrong version failes.

Also test creating singletons. The code remained there although it is
not a bug, see comments in the code.
tests: unit tests for test-compositor
tests: add tests for tc-events from test-compositor