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
Thinking about this more, it's better to fetch host & port before starting the child. I'll rework.