Fix range inference for division

Use range adjusted to not have 0 as a limit instead of original rhs range.

Handle situation when rhs can't change sign because both its limits
are positive or negative differently, to avoid a problem with rhs ranges
in form (-n; 0): such ranges are adjusted to (-n; -1), splitting which into
two semi-ranges results in an extra (1; -1) == (1; 1) range.
Merge pull request #80 from mpeterv/fix-range-inference

Fix range inference for binops
Implement 'icmp6'
Add example 'icmp6'
Cache ffi.C
Merge pull request #84 from Igalia/low-icmp6

Implement 'icmp6'
Localize variable 'verbose'
Declare variables 'runtime_u32' and alike as global
Merge pull request #85 from Igalia/cache-ffi-c

Cache ffi.C
Merge pull request #86 from Igalia/declare-variables

Declare global variables, and make 'verbose' local.
Fix expansion of operators 'src_port', 'src_portrange' and 'dst_portrange'
Merge pull request #88 from Igalia/fix-port-lowering

Fix expansion of operators 'src_port', 'src_portrange' and 'dst_portrange'
Add flag --bpf-lua so expressions can be compiled using libpcap
Merge pull request #87 from Igalia/pflua-match-libpcap

Add flag --bpf-lua so expressions can be compiled using libpcap
Operators 'ip proto', 'ip6 proto' and 'iso proto' can also accept a number as parameter
Add examples for 'ip proto 47', 'ip6 proto 47', 'proto 47' and 'iso proto 47'
Merge pull request #90 from Igalia/fix-ip-proto

Fix ip proto
Variable 'Inf' was not declared and initialized
Create environment including variables 'bit', 'ffi' and 'math'
Create environment with arithmetic functions and reference to 'bit' module