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.
The expression I coded is a mess, hard to understand what's going on. In the case of host expr is ( { 'host', { 'ipv6', 0, 0, 0, 0, 0, 0, 0, 1 } } ), and in the case of net: { 'net', { ipv6/len, { 'ipv6', 0, 0, 0, 0, 0, 0, 0, 1 }, 128 } }. In both cases, this function should deal only with the address and inspect its first to figure out whether is an ipv6 address.