fix(jasminewd): Use promise.all to combine promises and done

- Make the flow promise explicit and use promise.all to wait for both
  promises to be fulfilled before calling the done callback
docs(getting-started): add protractor slides
docs(contributing): typo "submitting an issues" for "... an issue"
docs(jasminewd): typo argment for argument
feat(locators): Add By.exactBinding locator
docs(faq): correct mismatch of '(' and ')'
docs(referenceConf): fix typo
fix(spec): Use dynamic port at withLoginConf.js
fix(runner): add -r for each cucumber require
Merge pull request #812 from hankduan/exactBinding

feat(locators): Add By.exactBinding locator
feat(elementFinder): keep a reference to the original locator
fix(runner): escape regex to fix jshint error
feat(launcher): Add support for splitTestsBetweenCapabilities.
feat(sauceprovider): runner now prints a link to saucelabs test URL
fix(loading): fix timeouts with about:blank removal

As documented at https://github.com/jnicklas/capybara/pull/1215
there are sometimes issues with webdriver and about:blank pages.

Switching instead to try a data url.

This has been tried 5x on Travis without any flakes.
chore(travis): update Sauce Connect to 4.2

Based on https://github.com/angular/angular.js/commit/63e13a4df742f16c66e4a2cc9b3bc19e3f583eb4
chore(travis): fix platform and version numbers used for saucelabs

Use mac for chrome because of errors with sending keys on Linux:
https://code.google.com/p/chromedriver/issues/detail?id=467
docs(readme): add info about default selenium connection
docs(getting-started): clarify that elements are HTML elements

Closes #644
fix(configParser): don't run suite if specs are supplied