Move wandiocat to its own subdir

This seems the easiest way to solve the parallel build issue
given our current recursive build structure.
Fix strangeness when using bogus filters on int:

Changes:
 * Make sure trace_start returns -1 for int: if the provided filter
   failed to compile, rather than falling through to using
   trace_apply_filter on the first packet (and failing). This is also
   more consistent with what pcapint: already does.
 * Check for -1 return value from trace_apply_filter, rather than
   treating -1 as a successful match.
Fix trace_event errors with pcapint: and filters

If a packet arrives between the time a live pcap capture
is created and the time the filter is set, the pcap fd acts
as though there is a packet available even if pcap_next_ex will
time out due to no packets matching the filter.

This can wreak havoc with trace_event, which relies on select
to know whether it will be able to call trace_read_packet
without blocking. If the filter doesn't match any packets,
trace_read_packet will block forever -- defeat the purpose of
using trace_event in the first place.

The solution is to always try to consume a packet immediately after
calling pcap_setfilter. Any "bad" packets will be removed from the
queue until a packet that matches the filter is hit or pcap_next_ex
times out. Either way, select should work properly again, at the
cost of possible one legit packet being consumed during startup.

Thanks to Mike Schiffman for reporting this bug (and the previous
one re: inconsistent behaviour when the filter is bogus).
Add ./bootstrap.sh to install instructions

Anyone who clones us from github will need to run bootstrap
before they can do the standard ./configure; make; make install
routine.

Add mention of INSTALL to README.
change buffer length types from int to off_t

previously the length of the buffer in the peek reader was stored in an int. when
a large read (> INT32_MAX) was requested, the buffer-resize malloc (ior-peek.c:129)
would fail, and therefore trigger the assert on line 135.

this bug was triggered, and the fix tested, on FreeBSD 10.
Merge branch 'fix_wandio_peek_large_read' of https://github.com/alistairking/libtrace into develop
Don't increment accepted_packets in trace_event

For formats that use the normal trace_event_device and
trace_event_trace functions to implement trace_event functionality,
this was resulting in accepted_packets being incremented twice:
once in the call to trace_read_packet within the standard event
function and once again in trace_event.

Removed the increment from trace_event and updated all formats
that provide a custom trace_event implementation to make sure they
either call trace_read_packet themselves or update the counters
properly (with the former preferred wherever possible).

Thanks to Alistair King for finding this bug.
Fix bogus filtered packet calc for BPF format

This was essentially counting filtered packets twice,
first by deducting accepted from received, then adding on
the local filtered counter.

Since BPF doesn't do any in-kernel filtering, all we actually
need is libtrace's filtered counter.
Fix building with DPDK enabled

This broke with the some of the changes (to makefiles etc.) in libtrace develop branch.
Allows multiple instances of libtrace to use the DPDK format simultaneously
* Each must be bound to a separate port (And currently either reading or writing but not both)
* Each process tries to allocate 250Mb of huge pages and will fail if it cannot (this should be configurable in the future)
* It's up to the user to ensure they don't try bind to the same port twice
Print DPDK debug to stderr rather than stdout
Change thresholds to work with e1000 series cards
* Fix some typos
Fixes compling with DPDK 1.6.0r2 and 1.7
Fix compile warning
A terrible fix to allow nesting of getopts, because DPDK uses this internally.
This is probably going to break for someone, but it is the best solution I can think of for now.
In the future hopefully DPDK will have a programming interface for all these settings.
Update README to point to GitHub

Incremented version number to 3.0.21 in preparation for next release.
int: and ring: now respect trace_interrupt

Calling trace_interrupt() will now cause the read_packet functions
for these formats to exit, even if there are no packets available to
read.

Previously, the read_packet call would hang until a packet arrived
and then exit, which essentially meant tools like tracesplit would
hang forever if there were no packets.
bpf: now respects trace_interrupt
Merge branch 'develop' of https://github.com/wanduow/libtrace into develop
Make sure dpdk_libtrace.mk is part of distribution

Richard assures me that DPDK builds will need it, so I'll make sure
it gets distributed :)