Fix cogserver crash on boost:asio race condition

cogserver is crashing because boost:asio was prematurely calling
destructors on classes that were still in use.  This was effing
painful to debug.

    // Some details: basically, the remote end of the socket "fires and
    // forgets" a bunch of commands, and then closes the socket before
    // these requests have completed.  boost:asio notices that the
    // remote socket has closed, and so decides its a good day to call
    // destructors. But of course, its not ...