Ajax: Protect against exceptions thrown synchronously by xhr.send

When xhr.send throws an exception synchronously, the onerror handler may have
been called already which, unchecked, makes the exception bubble up outside of
jQuery.ajax.

We now catch the exception pre-emptively and only rethrow if we know it hasn't
already been notified through the onerror handler.

Fixes #14683
Core: Remove special case try/catch in isPlainObject

Fixes #14746
Build: Switch to explicit dependencies versions in bower.json
Attrs: Simplify an option hook

Since getter was removed in fdd78fad19ea3390cd96971cd29430e36378d137
there is no longer a need to wrap option element in order to get its value

Fixes #14756
Selector: update Sizzle
Build: Upgrade QUnit to 1.14.0
Docs: Change raises to throws in README test assertions
Support: Document box-sizing was unprefixed in Firefox 29
Tests: remove all the empty line whitespace
Core: Fix trim in Android<4.1
Css: Don't check fill-opacity in Android 2.3, it's not supported
Event: Blacklist the onbeforeunload test in Android 2.3

Similarly to iOS, Android 2.3 has the onbeforeunload property on window
but doesn't support the event. This commit blacklists the test there as well.
Effects: Don't check fill-opacity in Android 2.3, it's not supported
Support: Skip style-based tests when element.style is undefined

Fixes #14785
Ref #13754
Ref badcd1b6f301e6253405f17759c1270549a34e12
Support: Reduce size

Ref a7ea12a9a7c696a14455bfe4bfebf984dd329832
Bower: add main property, move Sizzle to devDependencies, add license property

Fixes #14798
Close gh-1516
Ref gh-1338
Bower: stop ignoring yourself, bower

Ref #14798
Ref gh-1516
Ref gh-1338
Core: Remove native String#trim usage to save size

Fixes #14794
Core: Arrays like [42] should fail .isNumeric()

Fixes #14179
Ajax: .load() should trim its selector

Fixes #14773