Modified the remote UI protocol to send an initialization message with the
client id. The client id is passed in as an argument on the command line. The
purpose of this "dance" is to give us a way to associate a running launch
configuration with an incoming remote UI connection on the plugin side.

We also need to pass the browser channel port and the web server port as part of
the initialization message (in order to construct the launch URLs). To be able
to do this at ui.initialize, we had to change the auto-port selection logic to
substitute in a free port number (which we compute) instead of 0. That way, we
know what ports the browser channel and the web server will be on before they
start up.

Patch by: rdayal, mmendez (pair prog)

git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@6559 8db76d5a-ed1c-0410-87a9-c151d255dfc7
7 files changed