Workspace: use waitTillListening in start()

Replace setTimeout in `Workspace.start` with `waitTillListening` call to prevent the situation when the process needs more than a second to boot and start the HTTP server.

There is an edge case when this approach does not work: when the port is `0`, the OS will pick a random port and we don't know what port to listen on. The current implementation uses port `3000` in that case. I suppose we can use timeout in such case, although I am not sure if it is worth the effort.

Requires https://github.com/strongloop/strong-wait-till-listening/pull/1

Closes #127.

@ritch please review
Moving the conversation from the line comment on a line that was removed.

> Why don't we wait until stop() callsback to call done?

My reasoning is that we don't really care about the stop result at this point. We want to stop the child process, but the "start" operation itself is already finished.

What is your concern?