fix($location): allow numeric location setter arguments

Fixes #7054
docs($location): update search description to include number param
fix($location): remove an unused parameter of $location.url
fix($location): don't call toString on null values
refactor(indexOf) Remove a now unused copy of the indexOf function

This was missed in 300bffc4fe1ef664576abb39d2f6671b11813986

Closes #8939
fix(orderBy): allow arrayLike objects to be ordered

Closes #8944
chore(tests): update Protractor to v1.2.0
fix(ngAnimate): support removing classes from SVG elements when using jQuery

Fixes a regression in ngAnimate introduced in 2f4437b3, whereby SVG elements would not be able to
have classes removed by ngAnimate methods when jQuery was loaded (without also including libraries
which patch jQuery to support SVG elements, such as jquery-svgdom.js).

This fix exports jqLiteHasClass as a private method `$$hasClass` on the `angular` global object,
which enables ngAnimate to use this SVG-safe method for testing if the class is available.

Closes #8872
Closes #8893
fix(ngModelOptions): do not trigger digest on `setViewValue` if debouncing

Note that this change means that anyone watching `$viewValue` will have to
wait for a new digest before they are aware that it has been updated.

Closes #8814
Closes #8850
Closes #8911
refactor($http): simplify buildUrl function

Closes #8955
refactor($parse): simplifying multi-statement execution

Part of #8901
refactor($parse): adding function names for easier debugging

Part of #8901
perf($parse): calculate array lengths once at start of loop

Part of #8901
refactor($parse): simplifying some while(true) loops

Part of #8901
perf($parse): removing references to Parser/Lexer from parsed expressions

This allows the parser and lexer objects to get GC-ed once the expression
is parsed.

Part of #8901
perf(jQuery): only trigger $destroy if a handler exists

Speeds up largetable destruction by 30% (500ms) when jQuery 2.1.1 is present.

Closes #8859
chore(package.json): tidy up dependencies

Sorted dependencies into alphabetic order. If we can keep them like this
it will be much easier to keep track of version changes.

Updated bower and gulp to newer versions.
chore(bower): refactor bower usage

The gulp bower task in the docs app was never actually running since it couldn't
find the bower.json file and was silently failing. Updating to a newer bower
highlighted this issue.

This commit moves the docs app specific bower components into the docs folder.
There are only jquery and closure compiler related components in the project
folder now.

It also improves the gulp bower task to provide better feedback of progress
and errors.
docs(form): move param tag outside of main description
docs($filter): remove duplicate documentation of register method