more built. weird crash

Conflicts:

	src/LLVM/General/Internal/FFI/PassManagerC.cpp
	src/LLVM/General/Internal/FFI/Transforms.hs
	src/LLVM/General/Transforms.hs
	test/LLVM/General/Test/Instrumentation.hs
Got the sanitizers working with a hack of a way to add a DataLayout to
a PassManager. Bounds checking is still busted.

Conflicts:

	src/LLVM/General/Internal/PassManager.hs
	test/LLVM/General/Test/Tests.hs

Conflicts:

	src/LLVM/General/Internal/FFI/PassManagerC.cpp
Got instrumentation up through bounds-checking working.
PassManager interface is still gross.

Conflicts:

	src/LLVM/General/Internal/PassManager.hs

Conflicts:

	src/LLVM/General/Internal/FFI/TargetC.cpp
	src/LLVM/General/Target.hs
Got DebugIR passes working. Needed a fix to support null operands to
metadata nodes.
Cleanup. Simplify approach to PassSetSpecs.

Conflicts:

	src/LLVM/General/Internal/PassManager.hs
	src/LLVM/General/PassManager.hs
	test/LLVM/General/Test/Optimization.hs

Conflicts:

	test/LLVM/General/Test/Optimization.hs
Fix build & tests after cherry-pick of instrumentation support from master.
Fix build & tests after cherry-pick of merge from llvm-3.3.
Tweak Shake script to improve reliability of output.
Fill out some missing haddocks.

Conflicts:

	src/LLVM/General/Transforms.hs
Hackage update.