Initial restructure of testsuite. I've not moved the generated
tests yet because it is unclear how this will work with the testing
infrastructure I have planned.

There are currently two main folders

tests/query-files : These are for query files that are inputs to
                    the STP executable

tests/api : This folder is for API tests. Currently there are
            only languages for C but if we gain other language
            bindings tests for this should go here.
Rename generated_tests to generated-tests for consistency with other
folder names.
Added stub CMakeLists.txt files for testing and remove old
testing command.
Added CMake code to detect python and lit and also added lit (llvm-lit)
to LICENSE_COMPONENTS
Added a basic lit configuration file (based off llvm3.4 lit.cfg
and lit.site.cfg.in)

The query-file tests can be invoked using a query-files-tests target.
This is a custom target rather than a CTest test because it seems
that CTest won't show llvm-lits standard output/error when invoked
from CMake.
Added support for setting the solver from llvm-lit command line
e.g.

$ llvm-lit --param=solver=z3 .
Added OutputCheck tool as a submodule for use for llvm-lit tests.
Added %OutputCheck substitution to llvm-lit tests. A llvm-lit parameter
has also been added which can pass extra flags to OutputCheck e.g.

$ llvm-lit --param=outputcheck_params='-l debug' -v .
Fix up broken query files in unit_tests/ (tested with Z3)
Setup smt2 llvm-lit tests. Z3 was used as an oracle for checking
satisfiability of queries.
Enable most .smt llvm-lit tests. Two tests have been left out

sample-smt-tests/610dd9dc.T.stp.smt_71.smt
Z3 and CVC4 spend > 5 minutes trying to solve this so I gave up
trying to write this test for now.

sample-smt-tests/zero-extend.smt
Z3 and CVC4 issue parsing errors with this test. This needs more
investigation.
Add OutputCheck's bin directory to llvm-lit path so 'not' tool can be
used.
Added llvm-lit support for tests in misc-tests/

The no-query.cvc test needs fixing because stp is throwing an assertion
which isn't really an appropriate way to deal with the issue.
Added .gitignore file to ignore python .pyc files and Vim swap files.
Enabled many .cvc llvm-lit tests. CVC4 was used as an oracle for these
tests.

CVC4 could not parse all of the .cvc files so those have not been
enabled and need more investigation.

It's interesting to note that for the
bio-tests/4-alpha-helices-2-rungs-more-bits-simplified.cvc test
CVC4 and STP give different answers.
Added bash scripts used for converting .cvc,.smt2 and .smt files
to llvm-lit tests.
Added top level target "check" that should be used to invoke all tests.
Right now it only invokes the llvm-lit driven tests.
When running llvm-lit driven tests allow extra parameters to be passed
to solver.

e.g.

$ llvm-lit --param=solver_params=--help .
Added OutputCheck's licence to LICENSE_COMPONENTS
Update INSTALL guide with information on how to run tests.

The guide doesn't mention the TEST_APIS or TEST_GENERATED_QUERIES
yet because they don't work yet/might change.