fix(locators): fix regression passing root element to locator scripts

Closes #1378
chore(mocha): add a timeout for mocha tests
chore(release): version bump and changelist for 1.3.1
chore(eol): normalize all the line endings

add .gitattributes and set the default behavior, in case people do not have core.autocrlf set
docs(faq): fix closing parenthesis

(withLoginConf.js] should be (withLoginConf.js)
fix(runner): webdriver could get into lock when there is async promise
use the root element only to find the testability API, not scope searches

n 9a8f45a a change was introduced which made
Protractor's custom locators (by.binding, by.model, etc) use config.rootElement
as the root for all their searches. This meant that config.rootElement was used
both to specify how to get hold of Angular's injector as well as where to begin
searching for elements. This does not work for all cases, for example if a dialog
should be searched for elements but is a sibling, not a child, of ng-app.

This reverts that change, and uses document as the parent for all searches. This
is consistent with the behavior of the native locators by.id, by.css, and friends,
which do not scope their search based on config.rootElement.
fix(ElementFinder): ElementFinder should allow null as success handler.
Passes the value to the next in the chain.
tests(protractor): advanced features for ElementArrayFinder
chore(website) Upgrade dgeni
feat(dgeni): Add test file for tag fixer unit test.
feat(config): Option to exclude test for specific capability

Add the option to exclude spec files for a specific capability.
This way you can ignore spec files for one capability only.
For example if the test is known to fail in the capability.

Closes #1230
feat(runner/frameworks): Change interface contract of the protractor runner instance so that it returns a promise instead of calling a callback function
fix(elementexplorer): elementexplorer hangs when returning ElementFinder
Merge remote-tracking branch 'main/master'