fix(clientsidescripts): by.exactBinding not working because of regex typo

Closes #1441
Feat(config): Error messages for missing suites

Closes #1444
chore(clientSideScripts): fix typo in executeScript_ description

Commit be236e7f4 improved stack traces by adding descriptions to
`executeScripts`, but one of the new descriptions had a typo:
`'Protractor.getLocationBasUrl()'` instead of
`'Protractor.getLocationAbsUrl()'`.
chore(docs): fix broken link

Copy correct link from docs/faq.md
fix(launcher): exit code is always 100 for sharded and 1 for nonsharded tests
fix(webdriver-manager): Avoid incompatibility between request with callback and pipe.
chore(ci): fix URL for sauce connect download
feat(webdriver): version bumps for webdriver, chromedriver, webdriverJS
chore(docs): Remove outdated API document and point to the website.
chore(release): version bump and changelog for 1.4.0
fix(runner): setTestPreparer does not work

setTestPreparer would always set the testPrepare to config.onprepare during
`runner.run()`. This is breaking for code that relies on setTestPreparer
directly.
chore(protractor): speed up calls to then/each/map/reduce
Feat(plugins): basic tools for adding plugins