LoopVectorize: add missing dependencies.

Several INITIALIZE_PASS_DEPENDENCY macro invocations (compared
to analysis usage) were missing from the LoopVectorize pass, causing
an assertion failure in PassManager::schedulePass.
C API: implement LLVM{Get,Set}InstructionAlignment.

Existing LLVM{Get,Set}Alignment functions do not work on instructions,
as they use unwrap<GlobalValue>.
C API: implement LLVMDumpType.
C API: return NULL from LLVMGetFirstTarget instead of asserting.
C API: don't assert in LLVMTargetMachineEmitToFile on nonexistent file.
C API: DIBuilder bindings.

Original patch by Carlo Kok:
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20130422/172496.html
OCaml bindings: fix typo.
OCaml bindings: formatting.
OCaml bindings: remove unused DONT_BUILD_RELINKED from Makefiles.
OCaml bindings: Llvm_ipo: add missing transforms.
OCaml bindings: Llvm_scalar_opts: add missing transforms.
OCaml bindings: load and store instructions with volatile flag/alignment.
OCaml bindings: implement Llvm.dump_type.
OCaml bindings: implement Llvm_vectorize.
OCaml bindings: implement Llvm_linker.
OCaml bindings: implement Llvm_passmgr_builder.
OCaml bindings: build stub OCaml libraries for all configured targets.
OCaml bindings: implement Llvm_target_machine.