switch: Created 'port' abstraction with tcpdump trace support.
switch: Added tcpdump tracing support.

Packets in and out of the switch are globally traced to a pcap output
file. The file is enriched a bit so that it can be used for testing
the operation of the switch.

Extra metadata -- port ID and input vs. output -- is sneakily added
onto each PCAP record after the end of the Ethernet frame. tcpdump and
wireshark seem to be okay with this. (Later this metadata should
become a new libpcap Data Link Type with nice formatting in tcpdump --
but that is then and this is now.)
New function: pcap.records(filename) => iterator
tester.lua: The beginnings of a testing program.
pcap.lua: Removed debug printout.
switch.lua: Fixed a bug -- don't send packets back out the ingress port.
tester.lua: Added basic test case to see that packets don't loop.
tester.lua: New tests for drop, forward, and flood.

drop:    make sure a packet is sent out at least one port.
forward: make sure the forwarding database's latest port is included.
flood:   make sure ethernet multicast is sent to all known ports.
pcap.lua: Removed debug printout.
tester.lua: Fixed bug in multicast test. Made output more parseable.
tracemaker.lua: New program for generating known-bad & known-good traces.
bin/test, test.lua: Test suite. First cut.
tools/tush: Imported Darius Bacon's 'tush' testing tool.
tester.lua: Fixed bug in multicast flood test.
tester.lua: Quieter output - no final pass/fail printout.
First proper README.md
README tweaks
Added .gitignore
Created bin/snabb entrypoint. Renamed commands.

$ bin/snabb
Usage: snabb <command> [args...]

Available commands:
  switch
    Run the Snabb Switch.
  test
    Run the test suite.
  checktrace <tracefile>
    Check <tracefile> for switching behavior bugs.
  maketraces [dir]
    Create trace files for testing the 'checktrace' command.
src/scripts/snabb: Added script for "snabb switch" command.