Cope with Bluetooth API breakage in some Linux 3.x(?) kernel.

In the 2.6.32.4 kernel, struct sockaddr_hci has no hci_channel member.

In the 3.0.4 kernel, struct sockaddr_hci has an hci_channel member, and
it has to get set in order for binds of AF_BLUETOOTH/BTPROTO_HCI sockets
to work.

Cope with this API breakage by checking whether struct sockaddr_hci has
an hci_channel member and, if it does, set it to HCI_CHANNEL_RAW.
Merge pull request #24 from MichalLabedzki/master

Bluetooth interface not show
Merge remote-tracking branch 'github/master'

Conflicts:
	pcap-bt-linux.c
Mention the Bluetooth fix for 3.x Linux kernels.
1.4.x has its own branch; the trunk is for 1.5.x.
Add USBPcap.
Rename pcap_create() to pcap_create_interface().

pcap_create() is now a libpcap API, so rename the internal function not
to collide with it.

Also, initialize a variable, and fix a comment to make it clear it's not
pcap_close() that's called directly.
Rename pcap_findalldevs() to pcap_findalldevs_interfaces().

pcap_findalldevs() is now a libpcap API, and expects the main "find all
interfaces" call for the platform to be named
pcap_findalldevs_interfaces(); make it so.

Also, note that the first PacketGetAdapterNames() is trying to find out
how big the packet buffer should be, and should always return FALSE.
Initialize the NameLength variable, because PacketGetAdapterNames() may
refer to it before it's set (harmlessly, but might as well be clean
here, at least until it's fixed to check the pointer argument first).
"Has PF_PACKET and SO_ATTACH_FILTER" does not imply "is Linux".

Solaris 11, for example, appears to support PF_PACKET sockets and socket
filters, presumably for for Linux compatibility, but it's not Linux and
doesn't have /usr/include/linux by default.
More "don't assume it's Linux if it has PF_PACKET and SO_ATTACH_FILTER".
Don't try to handle AF_PACKET on Solaris.
Note that we fixed Solaris 11 build problems.
dbus:s1