All targets require a registered MCTargetMachine, even if it's just
MCTargetMachine itself.
This patch uses the Triple as the representation for the target but follow
up patches will start to break this up on a per-target basis.
A corresponding patch to clang will be committed along with this. The patch
is similar to the patches in the tools in ./tools/....
MCRelocationInfo, and MCSymbolizer has been left out of this patch since
they require special care to avoid a circular dependency between MC and
MCDisassembler.
I just noticed this redundant std::move(). I'll remove it since it's a leftover from when createX86Disassembler() created it's own redundant copy of MCInstrInfo.