pxpcap: Rewrite odd code to get rid of warnings

Hopefully the refcounting is still correct...
pxpcap: Use Py_RETURN_NONE macro

Previously were using return Py_None which doesn't increment its reference.
pxpcap: Add IPv6 address support
pxpcap: Support switching into nonblocking mode

This also adds a _pcap property to PCap which assures that a pcap has
actually been opened, and adjusts set_direction() to use it.
pxpcap: Improve pcap_next_ex() (C++ side)

* Allows to capture bytearrays (already done for loop/dispatch)
* Fix a potential bug when captures fail
* Adds option to *not* release the GIL
pxpcap: Add .next_packet()

This is the Python side for pcap_next_ex().
pxpcap: Add __str__ for PCap objects
pxpcap: Make PCap objects select()able

pcap_get_selectable_fd() isn't available in all pcaps, so we also adjust
the build script to first try with it, then try without it.

This adds a .fileno() method to PCap objects on the Python side.
pxpcap: Add option to retain GIL in loop/dispatch
pxpcap: Add alternate capture loop

This one is select-based instead of dispatch based.  It's disabled by
default, but you can enable it one a per-PCap or global basis.  You
can set the global from the POX commandline with pox.lib.pxpcap:do_select
and pox.lib.pxpcap:no_select.
packet.icmpv6: Add missing call to superclass constructor