bugfix: set socket/in/out to null if creation of oois/ooos fail

Creating, e.g., an ObjectInputStream can fail because some
header bytes are read.  The problem was that
attemptToConnectToServer() left this.socket non-null
in this case, leading runOnce() to believe that the connection
was valid, leading to an NPE when safeReadObject() attempted
to read the initial problem id from the webapp.

Also added some debugging code to SshTunnelAdapter to log
when the ssh tunnel process was being destroyed.