feat(protractor): add support for promises in configs

Change driverProviders/hosted to resolve promise values
in configuration to allow async jobs in setup.  Primarily,
this would be for a network call to acquire a selenium host
or to start a proxy server.
We probably want to propagate errors here instead of swallowing them. Switching to `q.all`