add some MCAsmInfo bindings
refactor TargetMachine into a new target module

TargetMachine is generally useful outside of the execution engine
context so i think it makes sense to move it into its own module.