misc: classifier-based packet trace filter

See .../src/vnet/classify/trace_classify.h for the business end
of the scheme.

It would be best to hash pkts, prefetch buckets, and do the primary
table lookups two at a time. The inline as given works, but perf
tuning will be required. "At least it works..."

Add "classify filter" debug cli, for example:
classify filter mask l3 ip4 src dst \
  match l3 ip4 dst 192.168.2.10 src 192.168.1.10

Add "pcap rx | tx trace ... filter" to use the current classify filter chain

Patch includes sphinx documentation and doxygen tags.

Next step: device-driver integration

Type: feature

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I05b1358a769f61e6d32470e0c87058f640486b26
diff --git a/src/vlib/main.h b/src/vlib/main.h
index 05687a8..88ce98b 100644
--- a/src/vlib/main.h
+++ b/src/vlib/main.h
@@ -63,6 +63,7 @@
   int pcap_enable;
   u32 pcap_sw_if_index;
   pcap_main_t pcap_main;
+  u32 filter_classify_table_index;
 } vnet_pcap_t;
 
 typedef struct vlib_main_t