wayland-server: Fix a uninitialized warning from clang

This warning is unnecessary, since the pointer in question is only used
for pointer arithmetic, but setting it explicitly to NULL doesn't hurt.
wayland-server: Document wl_signal
utils: tweak wl_list for better doxygen output
wayland-server: Add a wl_resource_for_each_safe macro

A version of wl_resource_for_each that is safe for iteration when items
in the list are removed.
gitignore: add ./compile

./compile is a GNU autotools helper script and should be ignored by git
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