Allow a DLT number to be specified.

That will let tests be done on DLTs with no entry in the table of names
and descriptions, to make sure we don't, for example, crash with a
filter that tries to test the network-layer type of the packet if the
link-layer header has no type field (and doesn't imply that it is, for
example, IP).
Don't crash on filters testing a non-existent link-layer type field.

Instead, generate an error indicating that the link-layer type filtering
isn't implemented for that link-layer header type, just as we already do
for some types.  That way, we don't punish programs, or their users, for
not knowing (or caring) that a given link-layer header type doesn't have
a way to determine the protocol running atop that link-layer header
type.
Note the most recent change.
Set nonblock for fd with mmap'ed read

With libpcap mmap'ed read on LInux, which would be the very
common case, even if we set pcap_setnonblock for that handle,
pcap_sendpacket will block.
Merge pull request #377 from hkwi/linux_mmap_nonblock

Set nonblock for fd with mmap'ed read
For memory-mapped pcap_t's, set non-blocking mode on the FD first.

That way, if it fails, we don't set the timeout in the private data
structure to indicate that we're in non-blocking mode.
The if_tsresol option is 1 byte long, so only copy the first byte.

By pure luck and padding, copying 4 bytes *happens* to work on
little-endian machines, but it's an epic fail on big-endian machines.

This fixes GitHub issue #397.
Add some additional changes since 1.6.1.
Merge remote-tracking branch 'upstream/master'