Add support for namespaced suites for JavaScript unit tests.
Add support for namespaced suites for JavaScript unit tests.

Unit tests using Jasmine consist of files each wrapping a series of
tests and definitions in one big describe() call. For organization,
we've been using the convention of namespacing these, in order to see
whether a test suite is part of, say, the API resources code, or the
diffviewer views code, allowing for easily searching on the page.
However, this still makes it hard to run a subset of tests, when they
span multiple files.

This introduces a new Jasmine utility library, jasmine.suites, which
allows us to replace that big describe() all with a suite() call. This
will generate describe() calls for us, reusing existing ones for
previously registered levels of the namespace tree. The result is that,
instead of running all tests to see if all resource tests pass, we can
now just run the "resources" suite independently. It's equivalent to
moving all tests into one big file and wrapping the resources tests in
its own big describe() call.

This utility library will be released externally as its own independent
module, but I'm putting it here for review purposes for now.

Reviewed at https://reviews.reviewboard.org/r/5727/

beol/reviewboard,1tush/reviewboard,sgallagher/reviewboard,1tush/reviewboard,brennie/reviewboard,custode/reviewboard,davidt/reviewboard,1tush/reviewboard,davidt/reviewboard,beol/reviewboard,brennie/reviewboard,1tush/reviewboard,reviewboard/reviewboard,KnowNo/reviewboard,brennie/reviewboard,bkochendorfer/reviewboard,brennie/reviewboard,chipx86/reviewboard,bkochendorfer/reviewboard,chipx86/reviewboard,chipx86/reviewboard,KnowNo/reviewboard,sgallagher/reviewboard,reviewboard/reviewboard,davidt/reviewboard,beol/reviewboard,custode/reviewboard,sgallagher/reviewboard,chipx86/reviewboard,beol/reviewboard,reviewboard/reviewboard,sgallagher/reviewboard,davidt/reviewboard,bkochendorfer/reviewboard,custode/reviewboard,KnowNo/reviewboard,1tush/reviewboard,1tush/reviewboard,reviewboard/reviewboard,bkochendorfer/reviewboard,custode/reviewboard,1tush/reviewboard,1tush/reviewboard,KnowNo/reviewboard,1tush/reviewboard