CDN: Copy all CDN files to the "cdn" folder of the repo

Fixes gh-16
Docs: Added CONTRIBUTING.md
README: Fix reference to release.js in shell script

`jquery-release.js` doesn't exist.
CDN: Add mapping for QUnit

Fixes #21
Repo: Update bower.json along with package.json when updating versions

Fixes gh-4
Closes gh-18
Lib: Ensure that every task that relies on the CWD sets it first

Before, tasks implicitly relied on the CWD being correct. This actually
broke the _pushBranch task, which assumed to run in the repo directory.
Since the CDN related tasks change the CWD, that wasn't correct anymore.

In the future, all tasks that depend on the correct CWD need to
expliclty set it first.

Fixes #14
Changelog and Contributors: Use Release.tracMilestone() for the trac milestone

Closes gh-17
CDN: Confirm before push

Fixes gh-24
Tasks: Add task for publishing to npm

Fixes gh-3
Repo: Simplify tag commit message to pass guidelines

This is also more consistent with repos where we you 'npm tag', which also
only uses the version number as the commit message.

Fixes gh-33
Repo: _createReleaseBranch() must be async

generateArtifacts() can be async, so _createReleaseBranch() must be async.
Repo: Update commit message for post release bump to be valid
Repo: Allow release-specific dependencies

Fixes gh-34
NPM: Verify credentials upfront

Fixes gh-27
Closes gh-36
NPM: Use the package name to look up the npm owners

Follow-up to 8a71c2e which uses the Release.project property. For QUnit,
the npm package name is 'qunitjs', not 'qunit'.
Bootstrap: Check for required executables

Fixes gh-38
Release: Only show NPM header if publishing
README: Script for testing the release script
Git: Ignore test-release.sh, see README
Bootstrap: Validate --pre-release argument

Fixes gh-42