fix($location): remove query args when passed in object

Query args will be removed from $location search object if they are passed in as null or undefined object properties

Closes #6565
feat(ngAnimate): conditionally allow child animations to run in parallel with parent animations

By default ngAnimate prevents child animations from running when a parent is performing an animation.
However there are a cases when an application should allow all child animations to run without blocking
each other. By placing the `ng-animate-children` flag in the template, this effect can now be put to
use within the template.

Closes #7946
feat($animate): allow directives to cancel animation events

Closes #7722
fix($animate): remove the ng-animate className after canceling animation

Closes #7784
Closes #7801
Closes #7894
docs(guide): fixes to ngShow/ngHide animations
feat(FormController): add `$rollbackViewValue` to rollback all controls

Currently it is possible to use `ngModelOptions` to pend model updates until form is submitted, but in case the user wants to reset the form back to its original values he must call `$rollbackViewValue` on each input control in the form. This commit adds a `$rollbackViewValue` on the form controller in order to make this operation easier, similarly to `$commitViewValue`.

Closes #7595
perf($compile): no longer need nodeType filter when setting $scope data

Closes #7887
fix($animate): ensure that parallel class-based animations are all eventually closed

When multiple classes are added/removed in parallel then $animate only closes off the
last animation when the fallback timer has expired. Now all animations are closed off.

Fixes #7766