nmsg/base/packet: new message module

this a new message module "packet" similar to the current "pkt" message
module, but which has a required "type" field. this is necessary to
unambiguously identify the encoding of the packet payload.

it currently has exactly one type value defined, "IP", which allows IPv4
or IPv6 packets with no further framing to be encoded.

this message module explicitly checks the datalink type of the
underlying pcap handle and only allows packet capture to occur for the
common DLT_* values that we know how to handle. the different link types
are handled by stripping off all framing below the network header, and
only passing IPv4/IPv6 packets to the output stream.

this allows a simple guarantee to be made to consumers that when
"payload_type" is "IP", the payload is an IP packet.
examples/nmsg-packet2pcap: new

this example demonstrates conversion of "packet" formatted NMSG payloads
of type "IP" into DLT_RAW formatted pcap. this is possible because the
NMSG packet/IP definition is compatible with the pcap DLT_RAW
definition.