Update pcap-bpf.c

Update zoneid handling when using bpf on Solaris.
Make the range checks in loads the same as in FreeBSD's kernel.

This prevents the checks from incorrectly succeeding due to integer
overflow on 32-bit platforms, addressing GitHub issue #379.

It also catches integer overflow in indexed loads when adding the X
register to the offset; that's not necessary for bounds checking, but
we'll put it in anyway.

Also, make the variable "k", and the memory array, unsigned; that's the
way it is in most kernel BPF interpreters, and means we use unsigned
address arithmetic consistently.
Merge pull request #381 from jhanders/master

Update pcap-bpf.c
This is libpcap; tcpdump is next door.
Update for the Solaris BPF zone handling fix.