Fixed many tests that make use of the file tool to check
a file created by KLEE exists. A big difference between
DejaGNU and llvm-lit is that in DejaGNU the working directory
is the test output directory (e.g. test/Feature/Output) but
in llvm-lit the working directory is the test directory
(e.g. test/Feature )

To fix this I have used the %T substitution variable for llvm-lit.

I have also improved some tests by using LLVM's FileCheck tool
and removing of hard coded constants for data type size in
some places.

This commit inevitably breaks running the tests under DejaGNU.
Although it is possible to hack by introducing the %T substitution
variable some tests would still be broken because the use of shell
pipes in DejaGNU doesn't seem to work properly. I could work around
this but it's really not worth the effort.
Fixed Feature/LongDouble.cpp test for llvm-lit by removed use of
{ } quotes. I also add FileCheck lines but I've not added running
FileCheck because only new versions of FileCheck support the CHECK-DAG:
syntax.
Fix Feature/Envp.c test for llvm-lit by providing the PWD environmental variable
in test environment.
Force python2 to be used when running llvm-lit. This needs to be fixed
properly at configure time at some point.
Fixed Feature/InAndOutOfBounds.c so it did not make use of ! which
seemed to causing problems for llvm-lit's parser.
Removed all of llvm-lit's dependence on DejaGNU. A few things
are now broken and will be fixed shortly.
* Do not ignore lit.local.cfg files needed for llvm-lit
* Ignore lit.site.cfg file.
Add lit.local.cfg file for test/Concrete so no tests are executed
in this directory. I don't know why these tests are here, they
weren't executed before by DejaGNU.
Fixed tests where llvm-gcc was called without the -emit-llvm flag.
DejaGNU testing used to have this flag in its substitution variable
but for llvm-lit this has not been done.

I could replicate what DejaGNU did but by forcing developers to be
explicit when creating LLVM bitcode

* Remove test suite inconsistentcies. Some tests explictly use
  -emit-llvm
* Allows for tests to be written in the future that invoke
  the compiler as a native compiler
Added Runtime/POSIX/lit.local.cfg file that prevents the POSIX
tests from being executed if not enabled at configure time.
Only run SELinux test if support for SELinux was detected at configure
time.
Give absolute paths to KLEE's tools in lit.cfg . This fixes a long
standing FIXME:
Remove the last remnants (I think) of DejaGNU. Goodbye!

Say hello to our new friend, llvm-lit :)
Partially fix python detection for running llvm-lit.

The problem is newer LLVM versions (e.g. 3.3) detect python at
their configure time whereas older versions don't (i.e. 2.9). So
I don't want to add python detection to KLEE's configure if LLVM
already does the work for us. We need to move off llvm 2.9 anyway.
Only run klee-uclibc tests if KLEE was configured with klee-uclibc
support.
Fixed test cases that fail if using an in-source build
Explicitly use only one thread when invoking llvm-lit in TestRunner.sh
We need to fix the test suite so we can run it in parallel.