Implement memoization in cfkey.

This patch fixes issues #26.
Fix cannot locate function 'compile_filter'.

* Renamed script 'pc_pcap_asm' to 'bpf-to-asm'.
* Added usage information to 'bpf-to-asm'.
* Move script to dir 'utils/'.
Merge pull request #33 from Igalia/cannot-locate-function-compile_filter

Fix cannot locate function 'compile_filter'.
Merge pull request #26 from Igalia/issue-26-fix-cfkey

Fix n² complexity in cfkey
Added script for generating BPF asm and Lua code generated by libpcap and
pflua.

- Generate BPF.

        $ pflang-compile --bpf "tcp port 80"

- Generate libpcap Lua code.

        $ pflang-compile --lua "tcp port 80"

- Generate pflua Lua code.

        $ pflang-compile --pflua "tcp port 80"

The flags are not exclusive, they can be combined to get several outputs
at the same time.

Some code reorganization within 'tools/' folder.
Added script for generating BPF asm and Lua code generated by libpcap and
pflua.

- Generate BPF.

        $ pflang-compile --bpf "tcp port 80"

- Generate libpcap Lua code.

        $ pflang-compile --lua "tcp port 80"

- Generate pflua Lua code.

        $ pflang-compile --pflua "tcp port 80"

The flags are not exclusive, they can be combined to get several outputs
at the same time.

Some code reorganization within 'tools/' folder.
Expand 'host <host>'

The BPF syntax doc says about "host <host>":

"
Any of the above host expressions can be prepended with the keywords,
ip, arp, rarp, or ip6 as in:

        ip host host

"

The parser doesn't recognize "ip host <host>" and considers 'arp' and 'rarp'
as nullary operators. I have modified the parser to be able to parse
these expressions and created new expansion rules 'ip_host', 'arp_host' and
'rarp_host'. I created a table_parser for 'arp' and 'rarp' as they are also
valid nullary operators. Maybe this is a bit overkill and there is a
better way of doing it.

With regard to "ip6 host <host>", tcpdump doesn't support it,
so I don't how to expand it althought it should be easy to figure out what it
does, but for the moment I prefer to stick to 'ip', 'arp' and 'rarp'.

Taking a look at the BPF code for "host <host>", what it does is to check
whether the protocol is 'ip', 'arp', 'rarp' and generate code
accordingly.
Change scripts