docs(various): more documentation reorg and rewrite
docs(api-overview): fix title
feat(runner): allow onPrepare functions to return a promise

If onPrepare is a function which returns a promise (or a file which exports
a promise), the test runner will now wait for that promise to be fulfilled
before starting tests.
docs(browser-setup): adds missing colon
feat(sauce provider): allow for custom server addresses when running against SauceLabs.

Use `config.sauceSeleniumAddress` to connect to a custom URL for Sauce Labs.
feat(runner): Add support for async onCleanUp functions

If the onCleanUp function returns a promise, the process will allow it to resolve before exiting. This is useful for performing async operations like writing to a file or calling an API at the end of a test run.
feat(runner/hosted): add support for promises for seleniumAddress and capabilities

Change driverProviders/hosted to resolve promise values
in configuration to allow async jobs in setup. Specifically,
seleniumAddress, capabilities, and multiCapabilities may be promises. Primarily,
this would be for a network call to acquire a selenium host
or to start a proxy server.
fix issue where ElementFinder.then does not return a promise

See https://github.com/angular/protractor/issues/1152
chore(ci): mark smoke tests as allowed failures on travis

They fail due to IE flakiness most of the time, see #1052.
chore(ci): remove selenium version specification for firefox

Selenium has started to complain about firefox and can't find a VM.

See #1165
fix(protractor): add dummy isPending function

See https://github.com/angular/protractor/issues/1021
feat(ElementArrayFinder): keep a reference to the original locator
fix(launcher): fix issue where test passes on unexpected failures
tests(locators): add chaining on repeater returning a single column
fix issue where color formatting text is leaking

See https://github.com/angular/protractor/issues/1131
style(launcher): fix != to !==
chore(release): version bump, changelog and docs for v1.1.0
refactor(clientsidescripts): use the testability api if available

Getting ready for version of Angular which will include the testability API.
refactor(clientsidescripts): enable getTestability for repeater stuff too.
chore(release): version bump and docs for v1.1.1