Startup protocol changes for version 2:

C->S	S->C
====	====
{later:
GetRealPlugin(String pluginType, String platformId)

	FatalError(String message)

	RealPlugin(byte[] plugin)
}


CheckVersions(int minProtoVersion, int maxProtoVersion,
    String hostedHtmlVersion)

	FatalError(String message)

	ProtocolVersion(int protoVersion)


{may be ommitted if no other supported transports:
ChooseTransport(String[] supportedTransports)

	FatalError(String msg)

	SwitchTransport(String transport, String transportArgs)

	  [If transport is not empty, all further communication should be
           switched to the selected transport.  transportArgs varies by the
           transport.]
}


LoadModule(String url, String sessionKey, String userAgent, String moduleName)

  [sessionKey is some arbitrary string to identify one group of modules as
   being part of the same session of one application.]

... as before



The v1 protocol LoadModule message is still accepted, though with reduced
functionality in the OOPHM UI.  After the module is loaded, v1 and v2 are
exactly the same, which makes supporting both versions easier.
