IOSource reorg.

A bunch of infrastructure work to move IOSource, IOSourceRegistry (now
iosource::Manager) and PktSrc/PktDumper code into iosource/, and over
to a plugin structure.

Other IOSources aren't touched yet, they are still in src/*.

It compiles and does something with a small trace, but that's all I've
tested so far. There are quite certainly a number of problems left, as
well as various TODOs and cleanup; and nothing's cast in stone yet.

Will continue to work on this.
Fixing rebase relicts.
Merge branch 'topic/robin/dynamic-plugins-2.3' into topic/robin/pktsrc
A series of updates and tweaks to the new PktSrc interface.
Prototype of a netmap packet source.

TODO: Add userland BPF filtering so that our filters work.
Split the types and attributes reference doc into two docs

Also moved them up in the index so that the more fundamental material
comes before the more advanced material in the table of contents.
Merge remote-tracking branch 'origin/master' into topic/robin/pktsrc

Conflicts:
	configure
	src/CMakeLists.txt
	src/Net.cc
	src/PacketSort.cc
	src/PacketSort.h
	src/RemoteSerializer.cc
	src/Sessions.cc
	src/Sessions.h
Removing netmap, remaining pieces of the 2ndary path, and left-over
files of packet sorter.

Netmap will move to a plugin.
Removing FlowSrc.

We could bring this back, now derived from PktSrc (though strickly
speaking it's of course not *packets). But not sure if we want that,
as the input framework seems the better place to host it. Then it
would turns into a reader.
Moving Pkt{Src,Dumper} a directory level up.

Also renaming PktSourceComponent to PktSrcComponent.
Small packet dumper API change.
Moving some of the BPF filtering code into base class.

This will allow packet sources that don't support BPF natively to
emulate the filtering via libpcap.
A set of various fixes and smaller API tweaks, plus tests.

Also moving PCAP-related bifs to iosource/pcap.bif.
Interface tweaks for PktSrc, plus docs for PktSrc and PktDumper.
Adding test creating a dynamic pktsrc plugin.
Remove timeouts from remote communication loop.

The select() now blocks until there's work to do instead of relying on a
small timeout value which can cause unproductive use of cpu cycles.
Fix possible buffer over-read in DNS TSIG parsing
Fix a memory leak when bind() fails due to EADDRINUSE.
Change EDNS parsing code to use rdlength more cautiously.

It shouldn't ever be negative, but if it were, using it to modify the
data pointer/length isn't appropriate.
Simplify a conditional with equivalent branches.