Fix #12148. Let .toggle() call the public .hide() for punching.

There is a slightly shorter way to do this but it's not Closure-friendly.
Give .stop() queue animations more leeway for Stutterin' Swarmy.

This test sometimes fails with only 2 animations left in the queue, so this extends the first animation in case we're running afoul of the one-second rule for background windows.
Unbreak isHidden args, they're needed by the .filter() call.
Pull in unit tests from gh-877, thanks @orkel!
Fix #12127, fer real. IE9/10 check state on clone. Close gh-875.
Adding a check for double progress call in effects units
Per @gibson042, don't need .documentElement since Sizzle handles.
Tagging the 1.8rc1 release.
Updating the source version to 1.8pre
Sizzle: adjust pseudos regex. Fixes #12153.
Sizzle: fix a small bug with combinator cache. Fixes #10499.
Fix a regression where has with multiple contexts was not filtering correctly. Test added.
Quote reserved keyword 'throws' to satisfy yui compressor. Fixes #12158.
Manual merge after fetch upstream
Fixes #1034 - Check for style.removeAttribute before calling it

Fixes issue in non IE browsers that happen to come down this path
Sizzle: fix chaining pseudo selectors placed after pos selectors. Fixes #12208.
Add back a sacrificial $.attrFn object.

Originally removed in 86b775d036627ebd7242fbb4eb9f24e4ba1fa9c5 as part of the enhancement that allows $(html, props) to use any $.fn method.

Although $.attrFn is undocumented it appears to be a poorly kept secret. jQuery Mobile 1.1 is using it and it's the topic of several blog/StackOverflow posts. Leave an empty object here as a dumpster for now, but it's coming out for good in 1.9.
Fix #12203. .undelegate() should not remove direcly bound events.
Fix weird clone bug and add a unit test to verify
Updated the comment above the fix