[Solver] Ensure shared memory allocation failures are reported as errors, not asserts.
[Solver] Tune down the shared memory region size on Darwin.

 - See comment, this is a gross workaround for Darwin's very small default limit
   on shared memory size. I'm not sure how big of a counterexample users can
   actually expect STP to solve in practice -- if there is a practical use for
   larger ones it would probably be good for us to write a fallback strategy.
[test/Concrete] Update LLVM IR syntax.
[test/Concrete] Remove the Invoke*.ll tests.

 - LLVM changed the exception handling semantics a lot, and we can't write
   compatible tests across the versions. Unfortunately I am afraid this probably
   also means KLEE's exception handling semantics are broken for LLVM 3.4+, but
   our C++ support is spotty at best. These tests should probably be replaced
   with ones in a source language that supports exceptions if and when someone
   wants to make that work.
[tests] Add support for testing LLVM version in REQUIRES: and XFAIL: lines.

 - You can now make tests disabled, or expected to fail, by writing something like:

     // XFAIL: llvm-3.4

   or

     // REQUIRES: not-llvm-3.4

 - This mechanism doesn't support version comparisons, it is mostly intended to
   help with switching over to new LLVM versions and incrementally working
   through the test failures.
[Core] Fix implementation of FRem for LLVM 3.3+, which was wrong (caught by FloatingPointOps.ll).