Manage bower dependencies with grunt-bowercopy

Tracked bower dependencies are located at "src/sizzle" and "test/libs".
The source-destination mapping is in the Gruntfile.

When updating a bower dependency, update the version in bower.json, run
`grunt bower`, and then commit the result. When adding a dependency,
update the bowercopy task accordingly.

Fixes #14615.
Closes gh-1452.
Revert "Ajax: Fix #14424. Use ActiveX in IE9+ on local files, close gh-1434."

This reverts commit 498e0e6c9bf486a0b1f16b455d65fcbc6c43867e.

We can't use the ActiveX XHR because it doesn't support events.
Reduce size by reordering variable declarations

Close gh-1421
CONTRIBUTING: Fixed link to style guide
Ajax: don’t test jQuery.ajax() on beforeunload in Chrome 31

Chrome 31 doesn't fire Ajax requests in beforeunload event handler.
There is no way for us to workaround it and it's been fixed in Chrome 32
so let's just blacklist Chrome 31 as long as it's in TestSwarm.
See https://code.google.com/p/chromium/issues/detail?id=321241
Build: Use absolute paths in .gitignore and .npmignore.

.gitignore/.npmignore treat all its paths as relative to *every*
directory in the repository. In most cases that’s not what’s desired.