Implementing limiting of input symbols to state machines
o Ensure minimal acceptable 'peekable' iterator has peek and sent
o Break out decide.execute method after it calls predicate
o Add optional 'limit=...' to state, capturing an int, str or predicate
  to use in determining ending source symbol for a state to transition.
o Pass deduced ending symbol through run/delegate
o Remove initialize, and move accept/process out of process/terminate
  try..finally; initialize is redudant with process
o Terminate before transitioning if we've reached our ending symbol
o Handle transitions where only exactly one decide target was given
o Test cpppo.remembering iterator, and new limit functionality
o Add dotdict.pop dotted name resolution; allows popping whole
  non-empy levels of the dotdict (del doesn't allow deleting such)
o Begin to add EtherNet/IP CIP parsing functionality
Begin using limit to parse EtherNet/IP CIP path segment(s)
Continue validating the input symbol limiting parsers
o Rename ..._discard to ..._drop
o Add typecode to base state signature, to improve usability of class
o Correct evaluation of limit predicate; path includes machine context,
  but the transition 'decide' predicate path does not (evaluated in
  parent matchine's context)
o Fix move_if decide implementation to avoid variable name reuse, and
  to allow both source and destination specification.
o Implement and test Logix CIP Extended Path Segments parser
Work out string, integer parsing over str and bytes symbol sources
o Added string[_bytes], integer[_bytes] parsers and scaffolding
o Converted/added tests to validate iterator type assumpations in Py.2/3
o Completed EtherNet/IP CIP ANSI Extended Symbolic path parser
Implement re-encoding of decode EtherNet/IP CIP EPATH
Merge branch 'fix-input-limit'