refactor(NgModel): simplify some code by using the predefined eqOrNaN()
doc(ast): fix API doc
fix(change_detector): fix NaN move detection in collections

Closes #1136

Closes #1149
fix(ng_repeat): fix ng_repeat not moving views for elements that have not moved

Closes #1154

Closes #1155
chore(travis): fail build if a test has been 'iit'ed

Change the build script to fail if a test was 'itt'ed or 'ddescribe'ed.

Closes #922

Closes #1172
refactor(tests): remove unnecessary inject calls

Some tests rely on the fact that dependencies can be injected into `it`s, but some call `inject` explicitly. This PR makes tests more consistent by removing unnecessary inject calls.

Closes #1218
fix(DynamicParser): Correctly handle throwing exceptions from method.

Fixes #971

Closes #1064
refactor(zone): add return types & doc

Closes #1073
refactor(dccd): some renaming to clarify the intent

Closes #1129
feat(http): support coalescing http requests

To enable this, configure the HttpConfig module with a coalescing
duration.  Doing so will enable all HTTP responses that arrive within
that interval to all be processed in a single digest.  Typically, this
is most helpful if you have many XHRs that are all going to be satisfied
by cached responses causing them to happen in quick succession.

e.g. Use something like this to configure a 50ms interval.

    bind(HttpConfig, toValue: new HttpConfig(
        coalesceDuration: new Duration(milliseconds: 50)));
fix(directive-injector): Pass the correct injector into nested views

Replace DefaultDirectiveInjector with DirectiveInjector (with parent = null).

Application Injector reference is passed through view creation and
passed into new Directive Injector (instead of using
parentInjector.appInjector, which is wrong).

New public method on dependency injector - parentGet. Allowing to get
through the usual chain but skipping itself (used for NgControl).

Remove EventListener from View.

Closes #1244
feat(router): added vetoable preLeave event

BREAKING CHANGE

Previously, vetoing was allowed on leave (RouteLeaveEvent) which caused
issues because routes had no way to recover from other route vetoing a leave
event.

Now, similar to preEnter and enter, leave event was split into vetoable
preLeave (RoutePreLeaveEvent) and non-vetoable leave (RouteLeaveEvent).

    views.configure({
      'foo': ngRoute(
          path: '/foo',
          preLeave: (RoutePreLeaveEvent e) {
            e.allowLeave(new Future.value(false));
          })
    });

Closes #1070
feat(form): Add support for input[type=color]

Closes #611

Closes #1080
chore(di): update di to 2.0

Closes #1263
Revert "fix(directive-injector): Pass the correct injector into nested views"

This reverts 59323daea6ff36ccf44c32dc053e243e0b655896.

Without a default implementation for DirectiveInjector, this results in
a runtime exception (no provider found.)

Issue #1244
fix: Remove deprecated calls to DI bind(Type, inject[])

fixes #1259
closes #1260
feat(DirectiveInjector): add a toInstanceOf parameter to bind()