docs(browser-setup): Update PhantomJS Setup Info

-Added information about passing CLI arguments to PhantomJS

Contributes to #150
catching up fork with protractor/master
chore(webdriver): update selenium version to 2.40.0 and download location
chore(changelog): fix typo in breaking change before/after
fix(locators): add locator with multiple arguments

When using a custom locator with multiple arguments, only the first argument was used when
calling `webdriver.findElements`.
docs(webdriver): add clarification that Java is required to run selenium-driver
feat(framework.cucumber): Allow multiple tags on cucumber tests.

Motivation:
Support for multiple tags on the cucumber test execution, to be able to filter with more complex expressions the scenarios to run.

How to use:
cucumberOpts: {
    tags: '@dev'
}

or

cucumberOpts: {
    tags: ['@dev', '~@ignore']
}

More information on tags:
https://github.com/cucumber/cucumber/wiki/Tags
fix(jasminewd): include full pre-async-call stack trace in expectation failure message
refactor(jasminewd): full stacktraces fixups

Include full stacktraces when expecing a promise to equal a promise.
Include the original stack trace for errors caught by the control flow.
Sometimes the original stack trace contains important line item information.
Increase the list of files that are filtered out of stack traces.
feat(jasminewd): allow custom matchers to return promises

Allow custom jasmine matchers to return a promise which resolves to a boolean
and match against the resolution of the promise
fix(debug): make protractor debug work in the new runner/launcher world

Closes #552
docs(contributing): add a link to how to use github markdown to make code readable
fix(launcher): command line args should be passed as-is to the runner

This allows users to continue to use optimist (or other process.argv) processing
within their tests and grab values from the command line.

Closes #571.
Merge remote-tracking branch 'upstream/master'