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
fix(DirectiveInjector): fix exceptions

Closes #1484
doc(routing): event.allowLeave() is on the PreLeave event since 0.4.21

Closes #1469
perf(util): call toLowerCase() only where needed

Closes #1468
chore(ng-class benchamrk): fixes

Closes #1465
test(parser_spec): fix analyzer warnings

Closes #1430