Implement lowering of 'host' and 'net' for IPv6

* tools/pflang-compile: Escaped tabs ('\t') are printed as raw text within a long string. Use non-escaped tabs instead.
* src/pf/parse.lua: Improve parsing of IPv6 addresses. Support not full IPv6 addresses (::1, 0::0, etc). Improve mask handling in IPv6 addresses.
* src/pf/expand.lua: Add lowering of 'host' and 'net' for IPv6 addresses. I'm not sure what's the equivalent of BPF 'jset' operation, see FIXME.
* src/pf/utils.lua: Add method for converting a 16-bit 8-groups IPv6 address into a 32-bit 4-groups address. Comparison of parts of an IPv6 address is done by fetching groups of 32bit.
Can we restructure this to be recursive instead of iterative?  That way the code can reflect the shape of the generated data structure.

e.g.

```lua
local function match_ipv6(i)
   var expr = { '=', ... }
   if i == #ipv6 then return expr end
   return { 'and', expr, match_ipv6(i+1) }
end
```