Expand 'host <host>'

   - Add support for parsing: "[ip|arp|rarp] [src|dst] host <host>".
   - Add lowering for "[ip|arp|rarp] [src|dst] host <host>".
   - For the moment only support <host> IPv4 addresses.
Assume qualifier host after [src|dst] if omitted

The BPF syntax document says:

    type

        qualifiers say what kind of thing the id name or number refers to.
        Possible types are host, net , port and portrange. E.g., `host foo',
        `net 128.3', `port 20', `portrange 6000-6008'. If there is no type
        qualifier, host is assumed.
Fix ehost parsing

The regex that checks if an address is an IPv6 address matched MAC
addresses, as a MAC address also starts with two octets.

I added a regex for matching MAC address before the IPv6 match.

In addition to that, MAC addresses can have the second octet of
a segment missing, that means this is a valid MAC address:

f:f:f:3:3:3

Which is the equivalent to f0:f0:f0:30:30:30. I modify the lexer to match
those addresses too.
Add expansion of 'ether [src|dst] [host] <ehost>'
Expand '[src|dst] net <net>'
Refactorize expansion functions of several operators

Keywords 'ip', 'arp', 'rarp' and 'net' share some common code depending on
whether they are 'src' or 'dst' that can be refactored into a more general
parametrized function.
Implement expansion of 'net <net> mask <netmask>'
Merge pull request #22 from Igalia/issue-22-missing-operators

Implement missing lowering operators