'port' and 'portrange' can be prefixed by 'src' or 'dst'.

- Implement lowering '[src|dst] port <port-number>'.
- Implement lowering '[src|dst] portrange <portrange>'.
- Add examples for both cases.
Update old doc examples

- Statement "return false" is now wrapped as "do return false end".
Merge pull request #52 from Igalia/low-port-number

Operators 'port' and 'portrange' can be prefixed by 'src' or 'dst'
Fix bug 'parse_optional_int' should return table with token and optional int
Argument of 'ether proto <proto>' and 'ip proto <proto>' could be escaped

About 'ether proto <proto>':

"Protocol can be a number or one of the names ip, ip6, arp, rarp, atalk, aarp,
decnet, sca, lat, mopdl, moprc, iso, stp, ipx, or netbeui. Note these
identifiers are also keywords and must be escaped via backslash (\)."

Source: http://biot.com/capstats/bpf.html

The same applies for 'ip proto <proto>'.

However, our parser identifies the context where <proto> is parsed, so
we don't actually need to escape the name of the protocol. In our case,
I think is better to expect an optional escaped sequence ('\\').