Update scrollspy.js

Scrollspy target in tab content does not work properly. Calling .parents('.active') will return all parents with an active class (including the tab pane). Changing this line to .parentsUntil(this.options.target, '.active') should resolve the issue. This will scope the query to only search for active elements inside the scrollspy target.
Added unit test for removing only active class from within the scroll spy key.
Fix: IE10 or lower incorrectly determines the scrollheight of the body. Use document.documentElement for IE. To make this browser agnostic, the maximum scrollheight of both body and documentElement is used.
Fix: IE10 or lower incorrectly determines the scrollheight of the body. Use document.documentElement for IE. To make this browser agnostic, the maximum scrollheight of both body and documentElement is used.
comply with .dropdown-menu.pull-right deprecation in docs
use stricter error checking in uncached-npm-install.sh

Closes #13045
Merge pull request #13039 from twbs/dropdown-pull-right-deprec

comply with .dropdown-menu.pull-right deprecation in docs
remove unnecessary direct devDependency on css-flip
upgrade to grunt-css-flip v0.2.0
Merge pull request #13048 from twbs/grunt-css-flip-0.2.0

upgrade to grunt-css-flip v0.2.0
add role="tooltip" to tooltips by default to improve accessibility

See https://github.com/paypal/bootstrap-accessibility-plugin/blob/master/README.md#tooltip
Merge pull request #11453 from moodyroto/patch-1

fix scrollspy for targets within tabs
Merge pull request #11937 from IHomer/master

Fix: IE10 or lower incorrectly determines the scrollheight of the body. ...
Merge pull request #13060 from twbs/role-tooltip

add role="tooltip" to tooltips by default to improve accessibility