Fix race condition.

`Oasis.connect('capability').then( handlerfn );` had a race condition if the
sandbox already had the ports.  The call to `port.start` needed to happen after
the connection promise was resolved.

Yet another problem solved by `RSVP.resolve`.

Also don't start ports twice in consumers case.
Do not try to self-connect.

This helps with loading oasis in phantomjs, although not completely.
Do not attempt to connect at all in PhantomJS.
`undefined` request values are treated as errors.
Up saucelabs timeout to 3 minutes.

Some test runs are taking ~ 1..2 minutes.
Merge pull request #27 from tildeio/fix-self-connect

Make things better.