fix(element): fix WebElement.$ using the incorrect By object

Closes #852
chore(testapp): increase all synchronizing timeouts to 5000 ms

This should help reduce flakes where the 2000 ms timeout was shorter
than the amount of time it took saucelabs to do a roundtrip request
to IE.
chore(selenium): update selenium, selenium node module, chromedriver

Selenium standalone v 2.42.0
Chromedriver v 2.10
IEDriver v 2.41.0
feat(runner): support sourcemaps in spec files

This feature allows folks who are generating their spec files from a
different language to see stack traces that use the line numbers from
their sources before translation.

This commit introduces a dependency on the `source-map-support` library.

For general information about sourcemaps, refer:
-  http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/
-  https://github.com/evanw/node-source-map-support
-  https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/view
feat(locators): remove deprecated locator APIs

This is a **breaking change**. The following deprecated Locator APIs have been
removed.

- `by.input`
- `by.select`
- `by.selectedOption`
- `by.textarea`

`input`, `select`, and `textarea` can be replaced by `by.model`.

`element(by.selectedOption('foo'))` can be replaced by `element(by.model('foo')).$('option:checked')`
fix(clientsidescripts): convert non-Error exceptions to Errors

If any functions called by clientSideScripts throws a an exception that
doesn't inherit from `Error`, the stack trace is completely unhelpful and
the message is just "unknown error."  This commit wraps such errors into
`Error` instances so that we have meaningful stack traces and the correct
exception message.  (e.g. This is the common case when running dart2js
code.  This commit gives us the Dart stack trace and exception message.)

In addition, I've pushed the construction of the string to install into
the browser into clientsidescripts.js.
feat(runner): support running dart2js spec files

This commit supports running Dart2JS output in NodeJS.  Officially,
Dart2JS in supposed to only generate code for running in a real
webbrowser.  With this patch, the dart2js code can also be executed in
NodeJS.

Ref: https://code.google.com/p/dart/source/browse/branches/bleeding_edge/dart/sdk/lib/js/dart2js/js_dart2js.dart?spec=svn32943&r=32943#487
docs(browser-setup): add link to IEDriver issue #778
docs(locators.js): new examples for docs

new examples for repeater when ng-repeat-start/end used

closes angular/protractor#804
chore(specs): remove unreachable/undefined code

Also add the Angular .map files so that if you inspect the Network tab,
you don't see 404s.
feat(protractor): new API allowAnimations(bool) on protractor elements.
docs(getting-started): update URL in getting-started.md

Changed 404 file link:

https://github.com/angular/protractor/blob/master/spec/basic/findelements_spec.js
to:
https://github.com/angular/protractor/blob/master/spec/basic/elements_spec.js
chore(travis/ci): add more logging about sauce connect to ci
chore(travis/ci): fix permissions for printing logs script
docs(getting-started): relative path update

Updated document to correctly state that spec paths are relative to the
protractor config instead of the spec file.
docs(api): Specify the anchors for TOC to link to.
docs(api): update for version 0.23.1

Should have gotten added at the last release.
refactor(runner): split framework adapters into their own files and add documentation

Split out the mocha/cucumber/jasmine bits of the runner for better separation
and readability.

Closes #792
chore(package): fix dependency notation for request
refactor(jasminewd): use jasminewd from its own node module

The Jasmine Webdriver Adapter is now its own npm module. The code has been
moved to http://www.github.com/angular/jasminewd.

Remove the code from Protractor, and add a dependency on jasminewd@1.0.0.