Fix TargetData re-own.
Use new llvmpy API for building PassManager: build_pass_managers
LLVMContextManager now maintains a TargetMachine
Duplicated utility function must have LINKONCE_ODR linkage and should not be removed.
Add CodeModel parameter to TargetMachine.new
Add test for function re-definition