fix($compile) support templates with table content root nodes

If the first element in a template is a <tr>, <th>, <td>, or <tbody> tag,
the HTML compiler will ensure that the template is wrapped in a <table>
element so that the table content is not discarded.

Closes #2848
Closes #1459
Closes #3647
Closes #3241
chore(jqLite): expose the _data lookup function to angular.element
pref($animate): group all asynchronous requests into one shared buffer
pref($animate): only trigger DOM callbacks if registered on the element being animated

BREAKING CHANGE: Both the `$animate:before` and `$animate:after` DOM events must be now
registered prior to the $animate operation taking place. The `$animate:close` event
can be registered anytime afterwards.

DOM callbacks used to fired for each and every animation operation that occurs within the
$animate service provided in the ngAnimate module. This may end up slowing down an
application if 100s of elements are being inserted into the page. Therefore after this
change callbacks are only fired if registered on the element being animated.
fix($animate): ensure $animate doesn't break natural CSS transitions

BREAKING CHANGE: ngClass and {{ class }} will now call the `setClass`
animation callback instead of addClass / removeClass when both a
addClass/removeClass operation is being executed on the element during the animation.

Please include the setClass animation callback as well as addClass and removeClass within
your JS animations to work with ngClass and {{ class }} directives.

Closes #6019
style(animate): remove ws
docs(changelog): release notes for 1.2.13
chore(release): update cdn version
fix(numberFilter): convert all non-finite/non-numbers/non-numeric strings to the empty string

The previous code for filtering out non-finite numbers was broken, as it would convert `null` to `0`,
as well as arrays.

This change fixes this by converting null/undefined/NaN/Infinity/any object to the empty string.

Closes #6188
Closes #6261
docs(bike-shed-migration): Add missing module tag

The generator is able to imply the module from the containing folder for
most files but these are in the ng module but are stored at the root folder.
docs(bike-shed-migration): fix up links outside the domain

It is safer to use markdown style links and save jsdoc style links for
internal links and code references
docs(bike-shed-migration): change tutorial doctype and add @step tag
docs(bike-shed-migration): move ng module doc into Angular.js
docs(bike-shed-migration): convert doctype and names
docs(all): convert <pre>/</pre> snippets to GFM snippets
docs(sce): fix reference to $sceDelegateProvider
docs(bike-shed-migration): convert <doc:...> examples to <example>...
docs(bike-shed-migration): let markdown deal with extenal links

It is problematic to use {@link} tags with external links because the
markdown parser converts them to links for us before we parse the @links.
This means that the following tag:

```
{@link http://www.google.com Google}
```

get converted to:

```
{@link <a href="http://www.google.com/"></a> Google}
```

Our {@link} parser then converts this to:

```
<a href="<a">&lt;</a>href="http://www.google.com/"></a> Google}
```

which is clearly a mess.  The best solution is not to use {@link} tags
for external links and just use the standard markdown syntax:

```
[Google](http://www.google.com)
```

In the long run, we could look into configuring or modifying `marked` not
to convert these external links or we could provide a "pre-parser"
processor that dealt with such links before `marked` gets its hands on it.
docs(sce): fix invalid @name tags
docs(ngResource): fix over-length line