perf(ngForm,ngModel): move initial addClass to the compile phase

Closes #8268
fix(ngView): use animation promises ensure that only one leave animation occurs at a time

the tracking depended on a local flag variable, which was susceptible to corruption due to
race conditions.

using promises ensures that the previousLeaveAnimation is nulled out only if it hasn't been
canceled yet.

Closes #9355
Closes #7606
Closes #9374
fix(input): correctly handle invalid model values for `input[date/time/…]`

Similar to `input[number]` Angular will throw if the model value
for a `input[date]` is not a `Date` object.
For `Invalid Date`s (dates whose `getTime()` is `NaN`) `input[date]`
will render an empty string.

Closes #8949
Closes #9375
fix(input): register builtin parsers/formatters before anyone else

Previously, builtin parsers/formatters for e.g. `input[date]`
or `input[number]` were added in the post linking phase to `ngModelController`,
which in most cases was after a custom formatter/parser was registered.

This commit registers builtin parsers/formatters already
in the pre linking phase. With that builtin
parsers run first, and builtin formatters run last.

Closes #9218
Closes #9358
chore(docs): show error 404 without partial failing

We can move the test back into the main describe as it no longer causes an
error message to be logged
docs(changelog.md): update changelog for 1.3.0-rc.4 and 1.2.26
chore(docs): rearrange docs app search elements so close button is not first tab index
docs(guide/accessibility): add sortOrder to get it in the right position in the guide