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
docs(guide/directives): improve links to isolate scope docs

Link "isolate scope" to "Directive Definition object" section

Closes #7484
chore(release): publish ngMessages to bower
fix($compile): pass transcludeFn down to nested transclude directives

If you have two directives that both expect to receive transcluded content
the outer directive works but the inner directive never receives a
transclusion function. This only failed if the first transclude directive
was not the first directive found in compilation.

Fixes #7240
Closes #7387
chore($compile): make webstorm's regexp parser happy

Minor change puts \- at end of character pattern

In CLASS_DIRECTIVE_REGEXP and COMMENT_DIRECTIVE_REGEXP, putting the \- character at
the end of the character patter speeds up many IDE parsers and alleviates some
errors in certain IDE's. (WebStorm 8)

Functionally absolutely equivalent. No test change needed.

Closes #7093

Conflicts:
	src/ng/compile.js