svr/ dropped own ReadWriteCloser for q.SimpleQ

The web server in svr/ package previously had its own ReadCloser and
WriteCloser implementations for communicating with a matching engine.
Now it uses the MeddleQ found in the q package.

There was a performance defect in the MeddleQ implementation when a
MeddleQ is in an idle state (no one is reading from or writing to it)
the MeddleQ's internal goroutine would spin making endless non-blocking
reads and writes to its channels. This meant that the MeddleQ would burn
cycles doing nothing so a case was added such that if there were no
outstanding items to send MeddleQ would make a blocking call on read.

Additionally the calls to runtime.Goshed() have been moved out of the
main loop and into the default: cases. This has no measured effect on
performance but expresses the intent of the Goshed() calls more clearly.
Added logging to coordinator/ package

The listener and responder now respect the value of the 'log' value
passed into coordinator.Coordinate(...). The listener will log errors
and the responder will log every message which passes though it's
channel. Currently logging is a simple println(...).

Also added parameter names to the interface methods of msgRunner and
AppMsgRunner.
Adding TODO.txt

So I know what to do next.