OOIION-741 remove hardcoded timeout for agent spawning

Instead of waiting a hard-coded 20 seconds for the agent to spawn, wait an amount of time bounded by the timeout of the service call.  The maximum allowed spawn time will be at least one second less than the time allowed to complete the service call, to ensure that the service call completes even if the agent fails to launch promptly.

For a 30-second service method call timeout, this calculation allows 21 seconds for launch on my local machine.  For a 60 second service method call timeout, this would be 51 seconds, etc.