TPACKET_V3 doesn't really care about frame sizes.

Do all the crap we have to do in order to try to pick a slot size that's
not too big only for TPACKET_V1 and TPACKET_V2.  The kernel does sanity
checking of the slot size and slot count even for TPACKET_V3, so we have
to pick *some* value; just pick a slot size of 65536.

Also note that using a struct tpacket_req3 for the setsockopt request is
OK even for TPACKET_V1 and TPACKET_V2.
Get rid of unused variables.
Always fetch the buffer address in pcap_read_linux_mmap_v3().

We use its value, but, if we only partially processed the current block
of packets in the previous call, current_packet will be non-null, and we
wouldn't have *fetched* its value.
More comments.

Indicate why it's OK to use a tpacket_stats_v3, even for TPACKET_V1 and
TPACKET_V2 (and that we could probably just use a tpacket_stats).
For TPACKET_V3, pick a "frame" size of 131072.

The "frame" size is used to carve the mapped region into buffers that
contain variable-sized packets; pick a "frame" (buffer) size big enough
to hold a reasonably large packet.