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
You mean 30 seconds or the port 3000?

As for 30 seconds, I see multiple ways how to configure it:
 - Add a new (optional) argument to `start` function.
 - Add a new property to `Workspace.settings` as you mentioned.

But then, is it worth it? Do we have a use case where we want to customize this value? Otherwise YAGNI and we can wait until there is a need for that.