Add entry on taking screenshot on failures
feat(cli): use protractor.conf.js as a default config file if none is passed

Closes #615
chore(package): npm start now brings up the testapp

Closes #712
feat(locators): Added a By.cssContainingText locator.

This new locator find elements by css selector and inner text in response to the lack of ':contains' selector.

Example: By.cssContainingText('ul .pet', 'Dog') will find all ul children with class 'pet' containing the text 'Dog'.

Closes #488, Closes #709
fix(locators): using $().$$() should return an ElementArrayFinder

Prior, $(foo).$$(bar) would return a promise which resolved to an array of
WebElements. This is unexpected, since $(foo).$(bar) returns an ElementFinder, and
element(by.css(foo)).element.all(by.css(bar)) returns an ElementArrayFinder.
Fixed so things are more consistent.

Closes #640
fix(cli): fix --exclude command line flag

Accidentally got changed to 'excludes'. As discussed earlier, should be single
to be consistent with Karma.

Closes #637
test(synchronization): show that synchronization works with ng-included content
fix(mocha): fix it.only so that it does not double-wrap

Closes #649
chore(release): version bump and changelog for 0.22.0
chore(npm): alphabetize npmignore and add text files
docs(browsers): enumerate supported browsers
docs(browser): add more links and info about browser support
List Appium support
fix(jasminewd): fix timeout for beforeEach and afterEach
Update instructions on setting up Selendroid
fix(protractor): change angular-bootstrap wrapper for navigation
docs(browser-setup): update how to set up Appium
docs(browser-setup): List Appium support
chore(jshint): add jshint as a dev dependency and add config files

Make jshint run before testing, and add appropriate configuration files.
style(jshint): update all style to work with new jshint config