Implement operators 'less' and 'greater'

* doc/Makefile: Add examples of 'less' and 'greater'.
* doc/dst-host-192.68.1.1-and-greater-100.md: Example of 'greater'.
* doc/src-host-192.68.1.1-and-less-100.md: Example of 'less'.
* src/pf/codegen.lua: Add operator 'len'.
* src/pf/expand.lua: Implement expansion for 'less' and 'greater'.

It doesn't work. The initialization of the operators happens only once. If I move "local parse_arithmetic" before the initialization of the operators, when 'less' or 'greater' are assigned, 'parse_arithmetic' is nil. Evaluating later 'less' or 'greater' tries to evaluate a nil function.

luajit: ./pf/parse.lua:306: attempt to call upvalue 'parse_arg' (a nil value)
stack traceback:
	./pf/parse.lua:306: in function 'parse_primitive_or_arithmetic'
	./pf/parse.lua:800: in function 'parse_logical_or_arithmetic'
	./pf/parse.lua:834: in function 'parse_logical'
	./pf/parse.lua:842: in function 'parse'
	./pf/parse.lua:888: in function 'parse_test'
	./pf/parse.lua:959: in function 'selftest'
	(command line):1: in main chunk
	[C]: at 0x00404c00
make[1]: *** [check] Error 1
make[1]: Leaving directory `/home/dpino/workspace/snabb/pflua/src'
make: *** [check] Error 2

Another solution is to not initialize 'less' and 'greater' at the same time as all the other primitives but doing it later, once 'parse_arithmetic' is defined. Something like: 

function parse_arithmetic(...)
...
end

primitives["less"] = unary(parse_arithmetic)
primitives["greater"] = unary(parse_arithmetic)

WDYT?