Add a "sniffer" module

This module allows capturing packets from the mesh. To use it, enable the
module and call sniffer.start:

    > module.enable("sniffer")
    > sniffer.start

This dumps raw packets to the Serial port (but completely stops all
other processing on the Scout!).

By running `sniffer.start(1)`, a binary output mode is selected which
works in concert with a small script:

https://github.com/Pinoccio/tool-serial-pcap
Merge pull request #184 from Pinoccio/sniffer

Add a "sniffer" module
Implement wifi.setverbose

By default, only errors are logged. By running "wifi.verbose(1)", all
data sent to and received from the wifi module is logged.

Logging only happens to Serial, since it is a bit idea to log data to HQ
(which goes through wifi, causing more log output, causing more traffic,
etc.).
Fix include with wrong casing
Merge pull request #197 from Pinoccio/wifi.verbose

Implement wifi.setverbose
Revert "I can't tell for sure if gainspan is doing the right thing after first config, so being paranoid and making sure ncm is set right after any change"

This reverts commit d04efcc49131b0528dadddd347c8c2480605be8c.
Fix off-by-one in command ack handling

This caused the ack command to overflow the command buffer, as well as
caused the ack command to be read from outside the buffer. This was
visible in the form of an "unexpected char" error message on a lead
scout after it connected to HQ, due to the "hq.online(0)" command it
broadcasted.
updates from @erictj
add a  command and mode so bitlash never prints to serial directly
never doCommand directly, always Shell.eval now
silent(0) disables, silent or silent(1) enables
Refactor to clean up duplicate code
Merge pull request #200 from Pinoccio/silent-mode

Silent mode
whitespace
rename `silent` to `serial.mute`
Add a queue to the sniffer module

A big packet takes a (relatively) long time to transmit over serial.
Since the radio is about twice as fast (raw bitrate) as serial, a big
packet could keep the CPU busy so long that it didn't get around to
reading new packets as they came in.

This commit adds a queue so packets are copied to the queue quickly when
they come in and then sent byte-by-byte to serial, checking for new
packets after every byte.

This still means that packets will be dropped if a packets are sustained
at a high rate. However, the queue takes up all the free memory, so
bursts as long as possible can still be captured.
Fix include with wrong casing (again)
sniffer: allocate queue earlier
sniffer: Show queue length in non-binary mode