pyloxi: include all members in OFClass.members

This preserves ordering, which is important because we can't rely on the offset
field for sorting (it may be -1).

The newly passing show() tests are due to the side effect of removing type
fields from pretty printing.
pyloxi: add padding as its own member type

Also remove it from pretty-printing.
pyloxi: move version-independent utility code to a new file

Also adds a test for unpack_list.
pyloxi: add OFReader class

This will be used for unpacking messages instead of the current strategy which
depends on fixed offsets.
pyloxi: rewrite deserialization to use OFReader
pyloxi: support field length members

These are members whose value is the length of another member. This is used in
OpenFlow for variable length members in the middle of a message. Variable
length members at the end do not need a field length member because their
length is implicit. The field length members must come before, but not
necessarily immediately before, the field they refer to.

The only place this was used in OF 1.0 was in packet_out. Now that this is
gnerically supported we can remove the special case code for packet_out.
pyloxi: alias of11/of12 matches
pyloxi: support (only) empty 1.2/1.3 matches
pyloxi: fix OXM lengths

The length field only includes the payload, not the header.
pyloxi: deserialize OXM lists
pyloxi: fill in of11 match type
pyloxi: remove 'skip' field from Member

The other member types catch the ones that would previously set this flag.

The type fields of instructions, action_ids, etc still aren't populated.
pyloxi: remove unused 'offset' fields
pyloxi: skip padding after reading of_match_v3
pyloxi: raise an exception when unimplemented
pyloxi: add (incomplete) of13 message test cases
pyloxi: add of13 packet-out test
Merge pull request #8 from rlane/pyloxi-1.3

PyLoxi 1.3 work