packet: Don't try to pack unparsed packets

If a packet failed to parse, but has raw data, we now just use
the raw data rather than try to re-pack data that wasn't parsed
correctly to begin with.
libopenflow: Improve type guessing for stats_reply

ofp_stats_reply can guess its body type by actually looking at
the body.  Previously, this gave a non-obvious exception when
this fails because the body was an empty list-like object.