Unit testing framework for client code.

This work is based on QUnit and tests are runnable in-browser without any external dependencies or via command-line using grunt and PhantomJS. See README.txt in `test/qunit` directory for more information on how to run tests.

A test case is defined by an HTML and JavaScript source file. The file `test-common.js` will bootstrap most of the minimal HTML needed for qunit and configure require so nearly all testing logic is isolated into test js file. An example test is included that demonstrates how to build tests using requirejs's `define` and target backbone components. Tests can target non-backbone code as well.

Sinon is included for stubbing out server interactions, etc... when testing backbone components. This seems to be a popular fallback for backbone projects not using Jasmine.
Merged in jmchilton/galaxy-central-fork-1 (pull request #357)

Unit testing framework for client code.