Modified GenericInstruction to also take in operands and to properly reformat the instruction string when its toString() is called.
Added PCMD to instruction set.
Fixed typo in mnemonic of RET instruction
Added all operands to GenericAddOn and added override to toString() to give a complete AddOn instruction string, with operands.
Modified parsing of L5X with corresponding changes to elements.
 * AddOn can now be flagged encoded with added encoded data and be parsed accordingly
 * AbstractTag can now be flagged Produced or Consumed. All children of Tag as specified in 1756-RM084Q-EN-P are no longer added to XmlData but are now stored in their own field. This avoids having to sort elements.
 * Remapping of AbstractTags to Controller tags or Program tags in Factory has been changed to reflect the fields added to AbstractTag
 * Description has been added to Routine with appropriate parsing changes
 * Data elements that are Decorated or String are stored in the tags value, other Data elements are stored in the data field of the tag.
 * Decorated or String format data will not be written because of omitDecoratedData===true. Because of this only one data element is written out for a tag. This is intended to be temporary.