added ability to nest ProductionRules
revamped the RegExpParser; redesigned as a recursive descent parser with an explicit grammer..  (was hitting too many edge cases where the previous parser gave the wrong results)
added StartStopMixin, and moved the Parser design along
Re-orginisation of Validate.  Now there is a clear line between argument validation, and state validation.