LLVM 3.3/3.4 support

This implements most of the changes necessary to support LLVM 3.4svn and probably LLVM 3.3 by extension. A few issues remain:

1. Test BasicBlockVectorization fails. No idea why. The optimization seems to be doing nothing. Perhaps its options have changed? I understand that it's been being worked on a lot of late.
2. All Target.Options tests fail; target options are being mangled somehow. I looked at this for a while but I can't see where the corruption is coming from, you seem to be handling things quite safely.
3. The cabal file names a versioned dynamic library. When a given set of bindings may work for multiple LLVM versions, this causes inconvenience for a developer using one other than that in the cabal file. Additionally, LLVM convention dictates that LLVM be statically linked, *especially* by software which uses the (documented to be unstable) C++ API. Both of these problems can probably be solved at once just by listing the (unversioned) static libraries instead of the dynamic library.