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.
I refactored this code. I coded it with trial and error so it was kind of messy.

For each fragment has to calculate what's its mask. If the mask is 32 that means that it's not necessary to do and A & mask. Otherwise mask is the value of mask_len, as you said.

After that, calculate the remaining mask_len for the next iteration, that means substracting 32 or if mask_len is lower than 32 should be 0, so we can exit.