Ide 1539

This call is already asychronous (as you explained today) so there is no need to call this on a separate thread.  Instead just after you call server.start() if it isn't already started, then we should sleep() the current thread for several seconds and then check the state again, if it is still not started, then sleep again.  Keep doing this for a maximum of 10 minutes, if it doesn't start in that amount of time, fail the test.