Add BPF parser

It doesn't work yet, but the grammar compiles.  Baby steps.
Add BPF lexer

The lexer isn't attached to the parser, but oedipus_lex processes it.
Add some scanner tests

These are probably wrong.  I have no idea what I am doing
Maybe fix some things in the scanner

I still don't know what is happening
Minimally working parser

This can parse 'tcp port 80', so progress!

Implemented part of struct qual as the Qual struct.

Fixed scanner to return token type and value

Fixed AID token, it must be prefixed by a '$'
You can now ::open and ::live with a Device

Previously you needed to send a String device name to open a capture
device even if you were using Capp::devices to choose the devices you
wanted to open.

Now you can send a Capp::Device directly for improved usability for the
API.