Abstract out predicate-driven processing.
Since BPF is so broken, just use the base filter.

This allows TCP in both directions unrestricted.  Improvements coming.
Add the ability to write processors in Lua.

They can only be predicate-driven, however, rather than expose all
of the complexity of packet arrays.  Also, a string is created with
the whole packet data, which is wasteful and slow.  Would be better
to use a new type for packets, and provide field access methods, so
we can avoid the copy and massive dcache blowout.

Note that this is currently quite unsafe if used for more than one
processor, as we are not creating lua threads for each processor's
state.