Copy llvm-lit from the LLVM3.4 branch (its really too big to
import as a git submodule) and add CMake code to create
llvm-lit executable.
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.
Fixed 4-alpha-helices-2-rungs-more-bits-simplified.cvc test.

I was using the unstable version of CVC4 as the oracle and it seems
that this query being valid is a bug in the unstable version of CVC4.
The 1.3 release of CVC4 returns invalid just like STP does.
Added basic infrastructure to test STP's C API using GoogleTest
as the driving library. These tests are run using CTest.

Because of problems with cmake the ``test`` (i.e. $ make test) target
should not be used because it does not rebuild tests. Instead the
``run_ctest`` target should be used to build tests and then run CTest.

The ``check`` target has been setup to run the query-file-tests and
the run_ctest tests.
Rename C API tests so they have .cpp extension. This is necessary
because GoogleTest is a C++ library and so the test must be built
with a C++ compiler.