Initial implementation of cpppo.server.enet; EtherNet/IP CIP
o Revise state_struct to parse from beginning of collected input, not end
o Add offset/index capability, and struct.calcsize to get element size
o use b'x'[0] instead of next(iter(b'x')) to access Python2/3 bytes elem.
o Implement enip.octets... parsers, to scan/parse binary data elements