docs(locators): fix by.tag instead of by.tagName typo

Closes #1093
feat(suites): allow more than one suite from the command line

Allow a comma-separated list of suites be provided on the command line, like
`--suite=suite1,suite2`
fix(webdriver-manager): removed ssl on chromedriver url for consistency

Other URLs use http, make chromedriver use this as well.
docs(install): fix typo for finding java version
docs(browser-setup): clarifications and style updates
docs(faq): link to karma
docs(faq): fix link
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