ppkt_cut function: Shorten the end of the packet

Just like ppkt_pull is used to shorten packets from the front ppkt_cut
shortens packets from the end.
Note that it does not support chained packets yet.
Pcap bugfix: Deal with runt packets

We did not account for the fact that its possible (and common) for the
ethernet packets to be longer than needed for the actual payload.
Ethernet packets have a minimum length which means that short packets
(like a TCP ACK) have trailing bytes, which are not part of the payload.