loci: make assertions optional

The standard NDEBUG flag is used.

With NDEBUG set loci.o is reduced in size by 70%.
loci: optimize loci.c for size

Reduces the size of loci.o by 27%.
loci: disable GCC warning unused-but-set-variable

It's more complicated to generate code that doesn't trigger this warning when
assertions are disabled.
loci: fix non-generated unused variable warnings
loci: only use pragmas with GCC >= 3
loci: constify most global variables

The compiler will now put them in rodata, which may be more efficient.
LoxiGen: add ofp_bsn_set_deduplication extension
LoxiGen: rename pktin_dedup extension to pktin_suppression
LoxiGen: pktin_suppression: reject if timeouts are zero
loci: add enabled show macro
loci: only ignore warnings supported by the compiler

GCC < 4.6 throws an error when we try to ignore unused-but-set-variable.
pyloxi: factor out generic list parsing code
LoxiGen: workaround a Tenjin bug

Because the variable context is shared between nested includes (aka dynamic
scope), and because Tenjin explicitly deletes variables from the context after
the include is finished, we have a problem where the outer template's context
variables are deleted by the inner template.

Fix it by subclassing tenjin.Engine and rewriting include. We can't delegate to
the original include because it uses stack frame magic.
pyloxi: use the same subtemplate for action and common classes
LoxiGen: fixup OFP_VLAN_NONE referring to another identifier
pyloxi: uniquify padding member names
pyloxi: create a tests directory
pyloxi: clean up imports in of10 test

This file is now OF 1.0 only.
pyloxi: fix testcase import
pyloxi: optimize unpack_list