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.
Update OutputCheck submodule to new version with file extension
bug fix.
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.