This patch is based on a patch that serializes machine instruction names (http://reviews.llvm.org/D10481).
This patch adds a MILexer class that complements the MIParser class from the previous patch. It still only allows to serialized machine instruction names, but this time it performs tokenization of the source string to allow the MIParser to progress to parsing of machine operands.