Release script: Add .npmignore and keep .gitignore when creating the tag
Release script: Add dist files in multiple commits for a clean final commit with a small diff
Ref #14503: Cherry-pick tests.
(cherry picked from commit 27b22f4ef5f3f291204f0e0f9f414ac503f6c8a8)
(cherry picked from commit 8dc0f2ea84e1861d8d8dfa7699268368c659f8e9)
(cherry picked from commit 936126f10de193e2bb1c8280dbc2361ca5d62e29)
Fixes #14548. Add main property to package.json
Fixes #14549. Execute the factory immediately when CommonJS is used in the browser.
Change window to global in the most outer IIFE parameters.

In the most outer IIFE it’s not yet known if the global is window or not.
Using the window variable to denote the global was misleading in that case,
especially that the code didn’t make such assumption, requiring to provide
a Web-like window separately. Renaming window to global clears the confusion.
Effects: Integrate sinon fake timers into tests. Close gh-1377.
Add unit tests for .html( number ). Close gh-1447.
Ajax: Use weak ETag header in tests

See http://en.wikipedia.org/wiki/HTTP_ETag#Strong_and_weak_validation

Close gh-1448
Fix #14579: attribute selectors with trailing spaces after an unquoted value
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.