filter: initial implementation of Pred module

Pred.t is the pred analogue of the app type for policy. It allows you to
create and compose applications that will produce pred updates in
response to network events.
filter: constructor for asyncronous Pred.t updates
filter: add partial application point to async_handler

The handler may want to store the update pipe for asynchronous updates.
The partial application point allows it to do so.
filter: use mk_{and,or,not} predicate constructors
Merge pull request #345 from frenetic-lang/filter

Filter-based applications