Updated version of Jubi's patch.

The purpose of this patch is to support and test most or all undefined
behaviors for the supported subset of LLVM.

Relative to pull req #34, this one fixes up a few missing CamelCases
and also reduces the bitwidths used in several test cases.  The entire
"make check" now completes in about 2s on my machine, using a recent
STP. My judgement is that the bug-finding power of these test cases
is probably reduced very little or not at all by the reduced
bitwidths.
Add Jubi Taneja (individual CLA)
Merge pull request #36 from regehr/master

Updated version of Jubi's patch
Ignore VectorType GetElementPtrInst (issues #29, #33)
code that I've been using to narrow down a miscompilation, that I believe will
be useful in the future

it has three parts
- build compiler-rt so that we can use UBSan from our LLVM version
- detailed srcloc printing for replaced instructions
- two command line options supporting binary search for a bogus
  transformation
Add support for new instruction types to parser
Roll LLVM to r216042
Include hiredis via path "hiredis.h"

This seems to be more standard. For example, this is what the examples do.
fix debug options to mention souper and to be hidden
Merge pull request #39 from regehr/pass-debug

minor changes to make it easier to debug miscompilations
Merge pull request #38 from rsas/issue29-fix

Ignore VectorType GetElementPtrInst (issues #29, #33)
Add Raimondas Sasnauskas (individual CLA)
Merge remote-tracking branch 'upstream/master' into undefined_behavior

Conflicts:
	lib/Extractor/KLEEBuilder.cpp
	test/Solver/sdiv-cornercase.ll
	test/Solver/udiv.ll