Clean up CMakeLists.txt

- PASS_CXXFLAGS is the same as LLVM_CXXFLAGS
- Remove unnecessary warning flag
- Use -std=c++11 everywhere since our minimum target compilers require it
Roll LLVM to r209595

This incorporates a change that introduces extension points in the pass
manager for peephole optimizers (such as the Souper pass).
Register the Souper pass as a peephole extension point
add in-memory caching using a proxy Solver class that intercepts solver requests
and, if the Souper IR has been seen before, answers with the cached result;
there tend to be a lot of hits when Souper is run as an LLVM pass since we're
called multiple times with very similar code

also some associated refactoring: Pass no longer sees CandidateMapEntries, and
the CandidateMapEntry::getQuery() method is gone with its code moved into a new
BuildQuery() function
Merge pull request #17 from regehr/master

add in-memory caching using a proxy Solver class that intercepts solver ...
canonicalize include file ordering

add Peter's coding style
Souper was crashing when invoked like this:

  souper foo.bc

The problem was that when the solver command line argument was missing, a Solver
object with a NULL BaseSolver was getting created, crashing later on. The fix is
to avoid creating the Solver and just return NULL when we don't have a
BaseSolver.
Merge pull request #18 from regehr/include-cleanup

code style stuff
Merge pull request #19 from regehr/fix-null-crash

fix null pointer crash
Report statistics about cache hits/misses, satisfiable/unsatisfiable queries,
etc.
Merge pull request #21 from regehr/stats2

report statistics
update TODO list
Merge pull request #22 from regehr/todo

update TODO list
specify timeout to solver on the command line
Roll LLVM to r213048

This incorporates a bug fix for the ExecuteAndWait function that fixed the
timeout functionality.

Also includes a number of API updates relating to the transition from
llvm::error_code to std::error_code in LLVM.
Merge pull request #23 from regehr/timeout

specify timeout to solver on the command line
fix a bug where the Clang pass aborts compilation upon solver timeout
Merge pull request #25 from regehr/timeout-fix

fix a bug where the Clang pass aborts compilation upon solver timeout
cache souper queries in a Redis DB
Add lit-based integration test infrastructure

Also add a few integration tests for the solver interface and the pass.