fix(resource_url_resolver): correct type for Node
fix(bind-*): zone.run scope.apply on bind- change events

Due to dart bug, events registered with addEventListener do no fire
scope.apply().

Adds an example of an affected polymer component.
chore(sauce): increase timeouts to avoids disconnects

e.g. See disconnects for job https://travis-ci.org/vsavkin/angular.dart/jobs/35114674#L1272
test(e2e): run on Dartium, dart2js and sauce browsers

Command line runs will test Dartium by default if no BROWSERS are
specified.  If BROWSERS are specified, they all have to be local
browsers or all sauce browsers.  If you're only specifying sauce
browsers (e.g. SL_Chrome, SL_Firefox, etc.), you may optionally also
specify DartiumWithWebPlatform and this will run two instances of
Protractor.  (This is a limitation of Protractor's config.)

On Travis, the job for a specific SDK version tests both
DartiumWithWebPlatform as well as SL_Chrome.  SL_Firefox is currently
disabled because it's failing.  Note that prior to this commit, the
BROWSERS variable was always ignored.
feat(travis): Also check for dart2js sizes that are unexpectedly small

Closes #1427
perf(component): add a benchmark that measures component creation with and without css files

Closes #1421
feat: New touch module including ng-swipe-left/ng-swipe-right directives

Support swipe gesture for touch enabled devices.

Closes #1403
feat(TestBed): add whitespace handling to compile

Add whitespace handling to the TestBed’s compile function.

Closes #1262. Previously, strings passed with leading or
trailing whitespace would be compiled incorrectly. Now,
valid HTML with arbitrary whitespace in and surrounding it
can be compiled properly.

Closes #1346

Closes #1445
fix(components): TranscludingComponentFactory passes a wrong element to onShadowRoot

Closes #1435

Closes #1436
refactor(tests): replace deprecated `toThrow` with `toThrowWith`

Closes #1425
fix(Component): Remove deprecated applyAuthorStyles & resetStyleInheritance

Breaking Change: this commit removes deprecated features of the shadow
dom.

Closes #1345
feat(web components): Support custom events for element property binding

Closes #1449
Closes #1453
chore(sauce): increase max-duration to avoid disconnects
tests: Move util tests to a new file
fix(compiler): Support camelCase property bindings

Fixes #1460

Closes #1462
style(utils): cleanup
feat(tests): run tests on all browsers

Changes:

- chore(travis): cleanup the configuration

- chore(travis): run test on IE10, IE11, Safari6 and Safari7

- fix(ShadowDomComponentFactory): Make Windows & Linux return the same response
    The "\n" would be stripped on windows platforms resulting in responses
    having a different content.

- refactor(Cookies): code cleanup

- fix(Cookies): fix for IE and Safari
    path should not be null, it would extrapolate to "null"

- test(http): disable a flaky expectation

- The error message varies across browsers:
        Dartium -> "Unexpected character"
        Dart2JS:
          - Chrome -> "Unexpected token"
          - Firefox -> "unexpected character"
          - IE -> "Invalid character"

- refactor(NgEvent): code cleanup

- text(NgEvent): fix the mousewheel event on IE & Safari

- chore(pubspec.yaml): add the browser_detect package

- test(ng_form_spec): fix an expectation

- test(ng_form_spec): Fix a failing test on IE

    ref https://github.com/angular/angular.dart/issues/1309

- refactor(ng_model_spec): code cleanup

- test(ng_model_spec): el.selectionStart and el.selectionEnd are handled differently on IE

- test(WebPlatform): disable web components tests when shim is needed

- test(NgModel): fix input type=color default value

    - "#000000" for Chrome and Firefox
    - "" for Safari7 and IE11

- refactor(InputSelect): code cleanup

- fix(ng_model_select): IE has its own way of handling options

- test(select multiple): Need to explicitely select option on IE

- test(number inputs): Safari6 keep the previous value on invalid input

- test: fix broken Safari 6 animation bugs

- test: add missing argument type
chore(travis): temporary disable IE & Safari when running tests on travis

Closes #1464
feat(eventHandler): Support snake-case event names instead of camelCase.

Closes #1434
Closes #1478

Closes #1477
refactor(NgElement): NgElement inject RootScope instead of Scope.

NgElement only uses scope to access rootScope, so now we directly inject
RootScope.

This is needed for future change #1429 which disallows Scope injection
into controllers. Since NgElement depends on scope it would also be
disallowed, unless we change it to directly use RootScope.