Uses a buffered input for UART.

This patch adds a buffer to avoid errors with slow (or fast) serial line.
This buffer allows to recompose fragmented frames on the serial line
as well as to manage the less probable case of an stdout slower than
the serial line.
Adds helper functions for the embedded part of the sniffer.

This adds two functions meant to abstract the underlying protocol between the
firmware and the sniffer client. The send_frame function is used to send a
frame and the send_info function is used to send an information string.
Uses a signed type for UART read.

The size type used when reading from the UART was unsigned. In case of a
read error (including signal interruption), this would have resulted in a
very large read which in turns would have caused a buffer overflow.
Adds a warning message when the input buffer is full.

This adds a warning message when the UART input buffer is full. When
such a case arise it doesn't mean that we will drop frames but instead
that the kernel will buffer them for us. However it is unlikely that
the kernel will have to drop anything but it may vary with the nature
of the stdout file descriptor. It would rather point out an error
in the embedded firmware.
Fixes the information frames being always 127 bytes long.

The helper function used in the firmware to send an information string
miscalculated the maximal length of the frame chunk to send over to the
client. This resulted in informations being sent from beyond the
firmware buffer which in most case was filled with zero hence displaying
no visible bug.
Checks for buffer overflow with invalid frames.

An invalid frame could cause the client to base itself on an uninitialized
value and miscalculate the size of the payload hence resulting in a
buffer overflow. This patch checks for the cases of  overflow that is to say
incoherent frame size and small payload size.
Adds a new line for a warning message.

When displaying the mac frame, a warning message did not have the final
new line.
Adds code to setup line control.

When a speed is specified at the command line we also want to setup the
serial line control options. In most cases we would like to set this to
8N1. That is to say 8 data bits, no parity and 1 stop bit. This patch
set these options by default when the speed is specified at the command
line. Otherwise the user has to setup the line control options manually
with stty.
Updates the README.

This updates the README according to the last modifications and added
features.