Add tcp port 80 test

* src/pf/codegen.lua: Add a test.
Fix scoping of generated code

* src/pf/codegen.lua: Nest the expressions in scopes so that we don't
  jump into the middle of some local's scope.
Fix parsing of parenthesized expressions.

* src/pf/parse.lua: Parenthesized expressions can be logical or
  arithmetic.  Messily deal with this.
Fix not, and expansion

* src/pf/expand.lua: Fix expansion of not, and, etc.
Beginnings of new compiler tests

* src/pf.lua: Wire up the new compiler.
Walking before running

* src/pf/codegen.lua: Fix precedence of inverted conditionals.
* src/pf.lua: Start testing the new compiler.
New compiler working!!

* src/pf.lua: Adapt filter_count to expect a boolean predicate.  Test
  the new compiler too.  Seems to work!!!
Filter functions always return booleans

* src/pf.lua (compile_pcap_filter): Return a closure that checks that
  the numeric result is not zero.  Adapt test suite.

* src/pf/libpcap.lua: Rename pcap_offline_filter to offline_filter.
Change pf.lua to export "compile_filter" function

* src/pf.lua: Rename compile_pcap_filter to compile_filter, and take a
  table as options.  Adapt tests.

* src/pf/savefile.lua: Use types.pcap_record.

* src/pf/types.lua (pcap_record): New export.

* src/pf_pcap_asm.lua:
* src/bpf_pflua_ts.lua: Update for new compile_filter syntax.
Savefile cleanups

* src/pf/savefile.lua: Don't return the "extra" -- no reason.  Close the
  fd after mmaping it, and unmap the file when the iterator has
  finished.
Fix bug in simplification

* src/pf/expand.lua: Fix test for simple RHS.
Fix constant folder bug

* src/pf/expand.lua: Fix bug in constant folder.
Add range inference

* src/pf/expand.lua: Add range inference pass.
Add codegen optional name arg

* src/pf/codegen.lua: Second optional argument indicating the name for
  the loaded filter.
Simplify packet access

* src/pf/codegen.lua: Simplify accessing packet data.
Packet access in host endianness, optimize out swaps

* src/pf/codegen.lua: Access shorts and longs using the FFI API.  It's a
  very slight slowdown but the right answer here is to fix the JIT.  Add
  support for the ntohs and ntohl unary ops, though they are usually
  optimized out.

* src/pf/expand.lua: Change the meaning of [] to mean host-order access,
  and add ntohl / ntohs.  Add optimizations to remove these if
  possible.
Fix expand.lua comments

* src/pf/expand.lua: Tweak comments.
Support portrange

* src/pf/parse.lua: Fix port argument parsing.  Portrange parses as a
  pair.

* src/pf/expand.lua: Add portrange expander.
Remove debugging print
Ensure presence of runtime in function's environment

* src/pf/bpf.lua: Ensure runtime functions are in function's
  environment.