test: introduce wayland-test plugin

This plugin creates global wl_test in mutter and will run tests.

NOTE: implementation of wl_test has not been included yet. This patch covers
plugin itself whith creating the global and autotools setting.
test-plugin: add support for running tests

Run tests that are given in MUTTER_WAYLAND_TEST evnironment variable.
The tests are absolute paths to the binaries and are space separated.
If no tests are passed, leave mutter running in the case that user
would want to do manual testing.
test-plugin: create log

Use own logging function instead of g_{debug|warning}. It looks better.
mutter-test: move Test class into package

I decided to split mutter-test script into more files
1) it's better 2) author intended do it later according the comments :)

I created a package muttertest where will be placed classes and helper
functions that do not need be neccessarily (or logically) in
mutter-test.

This patches is the first in series that do abovementioned stuff and
moves base class Test into the package.
mutter-test: move and rename run() function

This function has the same name as Test.run() method and this can be
confusing. Rename it to sys_run and move it into helpers.py source
mutter-test: move exceptions to standalone file

continue packaging
mutter-test: introduce TestRunner class

In order to implement other types of tests in mutter-test (unit,
regression) create a generic class that will contain set of tests and
method for running them (no matter what tests - polymorphism will be
used for decision if it's unit or build test or whatever)
mutter-test: create BuildTestRunner

Create TestRunner for build tests. Consequently, it was neccessary
to change BuildTest and main
Also use testlist.py with tests specification instead of creating
subclass for each test