protocol: Add release requests for wl_pointer, wl_keyboard, and wl_touch

We missed destroy requests in the 1.0 protocol and since the scanner
generates local-only *_destroy requests in that case we can't add
destroy requests without breaking protocol.  A client needs to verify
that the server provides a version 3 seat to use the protocol destructor
so the name needs to be something else than wl_*_destroy.

v2 (Rob Bradford): Rebased, bumped the protocol versions and added since
attributes to the requests.
scanner: Emit wl_*_destroy stub even if interface has a destructor

If an interface has a destructor but no 'destroy' method we used to
not emit a destroy method.  Now with the fix for missing destroy
requests for wl_pointer etc we need to emit the local wl_*_destroy
always.
configure.ac: Bump version to 1.2.90 for master branch
tests: do fixed test with random number more times

1000x in this case
tests: add some more list test

nothing big, just test if wl_list_empty() works
tests: simple interface_equal test
tests: Add some signal tests
tests: print backtrace when got SIGSEGV

the same way as in weston
tests/input-helper: simple compositor for testing

Initial commit, mostly works
Some functionality left though.

input-helper-test.c are basic tests for the input-helper
events-test
input-helper: generate unique socket name

When we run tests paralelly, we need different socket names for
displays. Otherwise the tests will fail when wl_display_add_socket
is called.
input-helper: more asserts in handle_event
input-helper: count processed events

count readable, writable, hungupx and error events
and events with no mask. Print the status at the end (when destroying
compositor)
input-helper: new assert
input-helper: trigger emitting events from client

Use SIGUSR1 to trigger emitting events. Events are defined in
user-defined function and registred into compositor by
test_compositor_add_events()
input-helper: create generic functions for getting wayland objects

New functions	test_compositor_emit_events
		test_compositor_client_add_listener
		test_compositor_client_populate/free
has been added. Their code is mostly moved from events-test.c
Usual workflow should be (pseudo-code):

// define listener and it's members
// ...
// ...
wl_object_listener listener;

client_main()
{
	test_compositor_client_populate()
	test_compositor_client_add_listener(&listener)

	// anything you want
	// ...

	test_compositor_emit_events()

	test_compositor_client_free()

	return 0;
}

events()
{
	//	send_motion ..
	//	send_motion ..
	//	send_button ..
	//	send_enter ..
	//	send_key ..
	//	...
	//	...
}

server()
{
	test_compositor_create()

	test_compositor_client_create(client_main)
	test_compositor_add_events(events)

	test_compositor_run()

	test_compositor_destroy()
}
input-helper: modify comments and debug messages
input-helper: tests for input-helper
input-helper: added test_compositor() function

This function creates a compositor, register client and events and
runs the compositor.

This commit contains function's test also.
input-helper: add keyboard

Add also tests for keyboard