style: name anonymous fn that causes initial digest for better debugging/profiling
revert: feat($compile): bind isolate scope properties to controller

This reverts commit 787c5a76dcb035277d008584ee8f908c83f213f0.

This change causes a regression at Google. We'll take a better look at it
next week.

Reopens #7645
refactor(Angular): make NaN check in date equality cleaner

Closes #8718
refactor($compile): rename `directive.type` to `directive.templateNamespace`

Also corrects the tests for MathML that use `directive.templateNamespace`.

BREAKING CHANGE (within 1.3.0-beta): `directive.type` was renamed to `directive.templateNamespace`

The property name `type` was too general.
fix($compile): use the correct namespace for transcluded svg elements

Via transclusion, svg elements can occur outside an `<svg>` container in an
Angular template but are put into an `<svg>` container through compilation
and linking.

E.g.
Given that `svg-container` is a transcluding directive with
the following template:
```
<svg ng-transclude></svg>
```

The following markup creates a `<circle>` inside of an `<svg>` element
during runtime:
```
<svg-container>
  <circle></circle>
</svg-container>
```

However, this produces non working `<circle>` elements, as svg elements
need to be created inside of an `<svg>` element.

This change detects for most cases the correct namespace of transcluded content
and recreates that content in the correct `<svg>` container
when needed during compilation. For special cases it adds an addition argument
to `$transclude` that allows to specify the future parent node of elements
that will be cloned and attached using the `cloneAttachFn`.

Related to #8494
Closes #8716
chore(mocks): remove helper fn angular.mocks.clearData

we don't need this any more because Karma reloads the iframe after each test run

Related to #8532
Closes #8618
docs(changelog): release notes for 1.3.0-beta.19 rafter-ascension
docs(changelog): release notes for 1.2.23 superficial-malady
docs($compile): fix grammar and specify version for deprecation
fix($parse): properly handle dots at the end of identifiers

Fixes #4613
Fixes #4912
Closes #8559
docs(guide/di): correct spelling `behinds` > `behind`

Closes #8749
refactor($injector): remove unused invoke queue variable

Closes #8755
perf($compile): only iterate over elements with link functions

Closes #8741
docs(guide/directive) example79 ptor missing attr

Closes #8257
docs(guide/directive): update since 'EA' is now the default restrict value

11f5aeeee952a395edaf54e3277674f211a82fc7 changed the compiler to use 'EA' as a 'restrict'
value if not specified in the directive object, and the directive guide needed some slight
changes to address this.

Closes #8769
docs(dateFilter): add example of string literals in format string

Also changes the wording to include the word "escaped" and "escape", which may help users find the
information they're looking for via searching. (ﾉ◕ヮ◕)ﾉ*:･ﾟ✧

Closes #8770
refactor($injector): remove unused strictDi argument from createInternalInjector

createInternalInjector does not specify the formal parameter `strictDi`, and instead uses the binding
from the parent function's formal parameters, making this parameter unnecessary.

Closes #8771
docs(form): add dollar sign back to setSubmitted()

Dollar sign was missing for setSubmitted() due to fc732564640231fb59dcd7e432093c3336083653, just
adding it back in ヽ(^。^)ノ

Closes #8772
chore(ngAnimate): fix if statement whitespacing
feat($animate): coalesce concurrent class-based animations within a digest loop

All class-based animation methods (addClass, removeClass and setClass) on $animate
are now processed after the next digest occurs. This fix prevents any sequencing
errors from occuring from excessive calls to $animate.addClass, $animate.remoteClass
or $animate.setClass.

BREAKING CHANGE

$animate.addClass, $animate.removeClass and $animate.setClass will no longer start the animation
right after being called in the directive code. The animation will only commence once a digest
has passed. This means that all animation-related testing code requires an extra digest to kick
off the animation.

```js
//before this fix
$animate.addClass(element, 'super');
expect(element).toHaveClass('super');

//now
$animate.addClass(element, 'super');
$rootScope.$digest();
expect(element).toHaveClass('super');
```

$animate will also tally the amount of times classes are added and removed and only animate
the left over classes once the digest kicks in. This means that for any directive code that
adds and removes the same CSS class on the same element then this may result in no animation
being triggered at all.

```js
$animate.addClass(element, 'klass');
$animate.removeClass(element, 'klass');

$rootScope.$digest();

//nothing happens...
```