ssh-admin: fix race condition when shutting down

When an administrator logs out of the SSH admin interface, occasionally
an error message is logged:

    (ssh2Admin) [] Something went wrong cleaning up the console: Already closed

This problem comes about from a race condition in the
ConsoleReaderCommand class.  The finally-clause in the run method calls
the onExit ExitCallback then immediately attempts to send a newline
character and flush the console.

Unfortunately, the onExit method sends the SSH-protocol EOF and
exit-code messages and schedules closing down the channel.  This
creates a race between the scheduled closing of the channel and the
ConsoleReaderCommand's sending a final newline and (itself) closing the
connection.  Mostly ConsoleReaderCommand wins the race, in which case
there's no problem; however, if it looses the race then the cleanUp
attempts to write to an output that is already closed.

This patch resolves this issue by moving the onExit call until after
the newline has been sent.  It also rewords the error message to be
slightly less verbose.

FOR RELEASE NOTES:

A rare race condition when logging out of the admin interface has been
fixed.  If the problem is triggered then the message "Something went
wrong cleaning up the console: Already closed" is recorded in the log
file.

Target: master
Requires-book: no
Requires-notes: yes
Patch: http://rb.dcache.org/r/5699
Acked-by: Gerd Behrmann