server: Allow authentication to be asynchronous
_ServerConnection: Split auth failure into separate method
server: Move set_controller() call into _TokenState
server: Fix shutdown with pending tokens
_StreamMonitorBase: Fix shutdown race

Don't raise an exception if the file handle is closed while a read event
is still in the queue.
_StreamMonitorBase: Run initial update from main loop thread
server: Initialize controller from worker thread

so the event loop is not blocked.
server: Fix _WorkerThreadFuture for work functions returning None
server: Terminate controller from worker thread

so the event loop is not blocked.
Fix pylint warnings