fix($httpBackend): cancelled JSONP requests will not print error in the console

When you cancel a JSONP request, angular deletes the callback for it. However the script still executes, and since the callback is now deleted and undefined, the script throws an exception visible in the console. The quick fix for this is not to delete the callback, but replace it with `angular.noop`.

Closes #5615
Closes #5616
docs(script): add more detailed information

Closes #5671
Closes #5676
feat(docs): adding the <doc:protractor> ngdoc-tag

This is the first step in migrating tests from <doc:scenario> to <doc:protractor>.
In-documentation examples with doc:protractor sections will have their contents
output to a tab on the docs site as well as output to a standalone test file in
build/docs/ptore2e.
fix($httpBackend): Allow status code 0 from any protocol

Android 4.1 stock browser also returns status code 0 when
a template is loaded via `http` and the application is cached using
appcache.

Fixes #1356.
Closes #5547.
chore(build): add relase-after-cdn script
chore(build): check cdn before executing the release-after-cdn script
fix(docs): Clarifying versions of IE that need special fixes
fix(docs): Update reference to `$routeProvider.otherwise`
fix(docs): Add missing whitespace
feat(build): add a grunt test for running protractor tests extracted from the docs
docs(tutorial): improve experiment instructions

Closes #5697
fix($location): return '/' for root path in hashbang mode

Before this change, on the root of the application, $location.path() would return
the empty string. Following this change, it will always return a root of '/'.

Closes #5650
Closes #5712
chore(build): bugfix for script utils
test(docs): add protractor tests for docs app

Closes #5437
revert: fix($location): return '/' for root path in hashbang mode

This reverts commit 63cd873fef3207deef30c7a7ed66f4b8f647dc12.

The change breaks existing tests of Google apps. The problem is that
while we tried to avoid adding #/ to window.location.href unnecessarily
we failed doing so. Likely because by setting $path, at some point
(during a digest) we try to check if $location changed and we mistake the
default '/' with an explicit settign of the path via the `path()` method.
This results in us writing the url with '#/' into $browser.url() which updates
the window.location by adding "#/" to the url - something we tried to avoid
in the first place.

I'll reopen PR #5712.
docs($location): fix link to $locationChangeSuccess event

Closes #5717
docs(\$resource): fixed typo (s/seapph/search)

Closes #5718
docs: fix the 'view source' button for snapshots

Closes #5590
Closes #5641
fix($http): return responseText on IE8 for requests with responseType set

Closes #4464
Closes #4738
Closes #5636
feat(select): allow multiline ng-options

This patch allows the ng-options value of a <select> element to span
multiple lines, which would previously throw an error when used with filters.

Closes #5602