chore(Gruntfile): remember to minify ngMessages
docs(changelog): release notes for 1.3.0-beta.8 accidental-haiku
refactor(jqLite): stop patching individual jQuery methods

Currently Angular monkey-patches a few jQuery methods that remove elements
from the DOM. Since methods like .remove() have multiple signatures
that can change what's actually removed, Angular needs to carefully
repeat them in its patching or it can break apps using jQuery correctly.
Such a strategy is also not future-safe.

Instead of patching individual methods on the prototype, it's better to
hook into jQuery.cleanData and trigger custom events there. This should be
safe as e.g. jQuery UI needs it and uses it. It'll also be future-safe.

The only drawback is that $destroy is no longer triggered when using $detach
but:

  1. Angular doesn't use this method, jqLite doesn't implement it.
  2. Detached elements can be re-attached keeping all their events & data
     so it makes sense that $destroy is not triggered on them.
  3. The approach from this commit is so much safer that any issues with
     .detach() working differently are outweighed by the robustness of the code.

BREAKING CHANGE: the $destroy event is no longer triggered when using the
jQuery detach() method. If you want to destroy Angular data attached to the
element, use remove().
docs(jqLite): explain what monkey-patching jQuery.cleanData does
fix(jqLite): use jQuery only if jQuery.fn.on present

Make Angular not bind to jQuery versions older than 1.7 since older
versions of jQuery do not support necessary on()/off() methods.
feat(ngTouch): add optional `ngSwipeDisableMouse` attribute to `ngSwipe` directives to ignore mouse events.

This attribute is useful for text that should still be selectable
by the mouse and not trigger the swipe action.

This also adds an optional third argument to `$swipe.bind` to define
the pointer types that should be listened to.

Closes #6627
Fixes #6626
fix(ngMessages): annotate ngMessages controller for minification
test(ngMessages): use strict-di for ngMessages tests

This will hopefully prevent issues similar to the one fixed by 63b100c0

Closes #7477
docs(guide/di): fix typos

Closes #7480
fix(numberFilter): fix rounding error edge case

Fix a number rounding error.

Closes #7453
Closes #7478
docs(guide/services): add reference to ngmin tool

Closes #5908
docs($resource): clarify paramDefaults usage

Closes #6200
docs(CHANGELOG & CONTRIBUTING): fix trivial formatting

Closes #6407
chore(docs): fix layout between 769px and 991px

Left nav and main content were tucked slightly under the version picker / breadcrumb navbar

Closes #6474
Closes #7079
docs(ngController): clarify that `this` is `$scope` in example

Replace `this` with `$scope` in second example to highlight the fact that
we are working with the `$scope` instead of an instance of the controller
in this example.

Closes #6478
docs(search): set minimum length to 2

With the minimum search length set to 3, it was not possible to search for `$q`.
Changing this to 2 fixes that without really upsetting the search display, since we
only display the first 40 API and 14 non-API items anyway.

Closes #3078
docs(search): fix search submit functionality

When the search input box was submitted (i.e. by pressing enter) the
app was supposed to take you to the first item but this was not happening.
It turns out the app was just reading the wrong property for the path to
the item.

Closes #3078
docs(guide/css-styling): tiny grammar fix

Closes #5443
feat(directive): ngName

Create ngName directive.
Currently input name attributes cannot be evaluated.
This is because of the task of handling adding and removing controls to
parent FormControllers.
NgName handles evaluating the name safely without risking unintended
manipulation later.
It prevents changing the existing controllers and directives and
therefore contains no risk to the current source.
It simply evaluates the expression and makes the changes prior to ngModel link
execution.
This does not handle adding or removing controls... (yet)