trouble and into predictable cleanup functions (one for each of serve,
client & control contexts). We use 'fatal' to mean 'kill the thread' and
'error' to mean 'don't kill the thread', assuming some recovery action,
except I don't use error anywhere yet.
If you compile with:
DEBUG=true rake build
then all the commands get a --debug flag as an option which will make
the server dump crazy amounts of data to stderr.