Treat SocketTimeoutException as a SocketException.

Prior to this commit a SocketTimeoutException was handled as a generic IOException, causing a 500 error to be written to the response stream before closing it. This caused clients not prepared to send multiple requests per connection to receive a 500 error on the _next_ request, regardless of the success/failure of that new follow-up request.

This patch modifies NanoHTTPD to treat a timeout the same as the remote client closing the connection normally.

This pull req addresses Kerplapp bug #2923 (https://dev.guardianproject.info/issues/2923) and #2928 (https://dev.guardianproject.info/issues/2928)