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.
I think this is a bad idea - if we extend onPrepare to be allowed to return a promise, this would try to wait for that too, for example. Let's be more specific about exactly what we're waiting on.