NAT
static: implement create_static more efficiently

The previous implementation of create_static was just a thin wrapper
around create, which kept the update and pkt_out pipes open even though
the app would never generate an update or a packet out. The new
implementation uses the lower-level raw_app API to construct the app and
in the process closes the update and pkt_out pipes.
static: implement guard in terms of create_static

The new implementation of create_static achieves the same goals as the
custom implementation of guard. Removing the custom guard implementation
in favor of having fewer combinators implemented at the raw_app level.
Bugfix to syntax extension

EOF production is needed. Added + and filter as keywords.
predicates in qq
Merge pull request #327 from frenetic-lang/syntax

Syntax
Merge pull request #323 from frenetic-lang/static

Improve implementations of create_static and guard.
Fix issues from seliopou's review
Merge branch 'NAT'

Conflicts:
	_tags
	async/async.mldylib
	lib/netkat.mldylib
	myocamlbuild.ml
	setup.ml
cleanup: remove netkat_test

The policy it generates is not a valid policy (it uses tokens such as
'->' for assignment). In addition it can easily be replaced by a static
policy.