fix(website): Add href to menu items.
feat(webdriver-manager): ignore ssl checks with --ignore_ssl option

Allow ability to ignore SSL checks when downloading webdriver binaries.
Usage: `webdriver-manager update --ignore_ssl`
chore(angular): upgrade angular to version 1.3.

This change updates Protractor's test application from 1.2.9 to 1.3.0-r0.

There is a significant behind-the-scenes change in the implementation of locating
elements and waiting for the page to be stable. If you are updating your application
to Angular 1.3, you may run into some changes you will need to make in your tests:

 - `by.binding` no longer allows using the surrounding `{{}}`. Previously, these
    were optional.
    Before: `var el = element(by.binding('{{foo}}'))`
    After: `var el = element(by.binding('foo'))`

 - Prefixes `ng_` and `x-ng-` are no longer allowed for models. Use `ng-model`.

 - `by.repeater` cannot find elements by row and column which are not children
   of the row. For example, if your template is
   `<div ng-repeat="foo in foos">{{foo.name}}</div>`
   Before: `var el = element(by.repeater('foo in foos').row(2).column('foo.name'))`
   After: You may either enclose `{{foo.name}}` in a child element or simply use:
   `var el = element(by.repeater('foo in foos').row(2))`
chore(testapp): add command line flag to testapp to switch angular version

The testapp may now be started with
`testapp/scripts/web-server.js --ngversion 1.2.9` to change the
version of Angular used in the app. Versions must be stored in
`testapp/lib/angular-v<version>`.

Closes #1258
docs(release): add a note to test against angular 1.2.x when releasing
feat(protractor): allow advanced features for ElementArrayFinder

changed ElementFinder as a subset of an ElementArrayFinder.

This enables actions on ElementArrayFinders, such as:
`element.all(by.css('.foo')).click()`

The function `filter` now returns an ElementArrayFinder, so you may also do:
`element.all(by.css('.foo')).filter(filterFn).click()`

or

`element.all(by.css('.foo')).filter(filterFn).last().click()`
fix(element): isPresent should not throw on chained finders

Now, `$('nonexistant').$('foo').isPresent()` will return false instead
of throwing an error. This change also adds tests that ensure
that catching errors from promises works as expected.
refactor(tests): move equivalency function to the elements spec file

It makes more sense there than in locators.
tests(promises): add a couple tests to ensure that promise resolution works

These tests ensure that `ElementFinder`, which extends promise, behaves
properly when being resolved before an action has been called on it.

These tests will be useful to have during updates of WebDriverJS.

See #1307
docs(referenceConf): clarify that rootElement is a CSS selector