Started a refactor branch. The code needs to be cleaned up and
modernized using multiplexing i/o and general maintainability issues. a
CTM api will be defined, and all "layer 2" functions moved into a ctm
library.
fixed some minor things, and added some debug lines to look into
over/underruns in the audio buffers.
Don't use a DIY options parser. Use built-in POSIX-compliance parser.

Also started refactoring adaptation_switch.c to break out the layer 2
stuff.
start adding multiplexing I/O
finished multiplexing i/o loop in ctm_start. Still need to integrate all
the pieces
updates to layer2 functionality. Probably 50% complete. Does not compile at this point.
more refactoring of modem functions.
fixed some logic errors in the ctm transmitter. Now use baudot TTY buffer for all input I/O. This will likely be modified as we will want to support bigger alphabets in the future.
mostly-complete refactor. Testing tomorrow.
refactor code now compiles. Debugging a poll issue.
fixed polling error. Fixed file descriptor mixup.
fixed logic errors. Audio subsystem working. Need to run tests to ensure proper operation.
test_negotation patterns pass. Still need to do an OTA audio test.
loopback test passes. Need to remove POLLOUT for user output, as it is not blocking and causing significant CPU usage.
fixed high cpu usage where output and input were continuously polling.
cleanup of usage and headers.
changed executable name to ctm.
fixed CTM file polling bug. Added some additional error checking for EOF conditions.
added script for network proxy, using netcat.