qt: lightly document OpenFlow0x01_Arbitrary sig
qt: OF0x01_ArbitraryCstruct and associated functors

Use OpenFlow0x01_ArbitraryCstruct when a data structure can be
serialized to a Cstruct.t and exposes a to_string function on its type.
Use the functor OpenFlow0x01_Unsize to transform the module into one of
type OpenFlow0x01_Arbitrary.
qt: implement OF0x01.Match as a OF0x01_ArbitraryCstruct
qt: give some arbitrary instances meaningful names

These are reusable arbitrary instances. They should likely live
somewhere outside of the Match QuickCheck module, but for now they're
fine there.
qt: fix PseudoPort.arbitrary implementation

The controller parameter should be an unsigned int. It was not
previously exercised by the PseudoPort roundtrip test, but will be
exercised in subsequent commits.
qt: expose functions in OF0x01.Action

These are all the functions that are necessary to creat an
OpenFlow0x01_ArbitraryCstruct module.
qt: add roundtrip tests OF0x01.Action