Work around annoying Android problem.

For various annoying reasons having to do with DHCP software, some
versions of Android give the mobile-phone-network interface an ARPHRD_
value of ARPHRD_ETHER, even though the packet supplied by that interface
have no link-layer header, and begin with an IP header, so that the
ARPHRD_ value should be ARPHRD_NONE.

Detect those devices by checking the device name, and use DLT_RAW for them.
Pick up fix from Android libpcap.

(Did anybody ever send this fix upstream to us?)
Add support for Apple's DLT_PKTAP.