Generate .tests files at build time

This patch allows testlists to be generated at build time by cmake,
these generated testlist are python TestProfile objects that have been
pickled, a process that converts a python object to a textual
representation of itself. Since this is done using cPickle it is backed
by native code it is very fast.

This is a big win in two ways: first it elimnates any need to parse
through the python test files at the start of every run, since there is
already a testprofile object which is loaded and unpickled, again using
native code, it's very fast.

Second, it creates freedom to change the way the tests are generated,
since all piglit-run.py needs is a valid pickled TestProfile object.
The biggest usecase for this is to replace ``execfile'', since it has
been dropped from python 3.x.

This moves all of the tests/*.tests files to
testlists/(gl|cl|external)/*.tests files.