Implements a copy class view
Changes the teacher class reg listclasses.html to include a row template for each class for reusability
Adds in the listcopyclasses view and the class_copy_row templates
Add Program.getListDescriptions()

This just moves some code out from Program.getLists(), since it will be
useful in other places.
Create UserSearchController

We have some messy query code in esp/esp/users/views/usersearch.py.  This
commit takes the query logic of the search_for_user function (which is
used to filter down a list of users based on criteria like IDs, zip codes
and graduation years) and puts it in a controller so that other parts of
the code can use the functionality, without necessarily following the
standard view sequence used for generating a user list.
Add jQuery UI button widget
Start adding a new version of the comm panel view

This program module view (temporarily named commnew) uses some of the
earlier changes to provide an easier interface for selecting commonly used
lists.  It actually renders 3 tabs:
- one of which is the new 'basic list' selector
- one will contain the myriad Boolean choices given by the conventional
  comm panel
- one will contain a history UI yet to be implemented
Remove old style caching from program and class models

This replaces a lot of manual cache manipulation (having sketchy
correctness) with the caching API.  Further testing will be needed.

Resolves issue #264.
Fix bug preventing removal of sections you aren't enrolled in
Remove unused getQForUser code
Adjust algorithm for finding students for onsite class list

This now uses the same set of students as the "All students who have
filled out a profile" list.  It's now possible to use combinations with
other lists (e.g. class/lottery registration), but I found that the
database time needed for that was prohibitive for large programs.  We may
just need to require that students fill out a profile.

References issue #115.
Remove old YUI stuff from dashboard
Add basic sorting functionality to dashboard

This is a dumb implementation of sorttable but hopefully we will be able
to make it better and add filtering options in the future.  References
issue #221.
Make "register from catalog" affect catalog appearance

The catalog now displays buttons to add classes (one for each section)
when the StudentClassRegModuleInfo's register_from_catalog box is checked.
The showing/hiding of buttons is done by Javascript.  Add buttons are
always shown on the fillslot page.  Ajax submission of registrations is
disabled by default (e.g. the student is redirected to the studentreg
page after clicking a button) but can be enabled by stuffing the
appropriate Javascript into the QSD box on the catalog.

Resolves issue #11.

Note that some chapters may have local changes to their catalog
stylesheets.  Please copy/merge default_styles/catalog.css to
styles/catalog.css.
Made Javascript Closure test work in parallel

This speeds up checking our Javascript syntax by supplying all files to
Closure simultaneously.  Thanks to Adam Seering for the suggestion.

References issue #17.
Move Closure JS test code into automated test suite
Tweak Closure JS test output
Fix Javascript syntax bug identified by Closure
Add GET argument for preloading onsite grid with a student

Example: /onsite/[program]/[instance]/classchange_grid?student_id=[id]
Make onsite new registration redirect to class change grid

Resolves issue #94.