WebSocket.MessageInputStream.close() skips any remaining data in message

Also, WebSocket sends port number in Host request header if port is specified in URI.
fix handling of timeout in AsyncResult.get(…)
improve Makefile