Move the new comm panel templates to 'users'

This will allow the improved query generator interface to be used by other
portions of the site besides the communications panel.
Use new query interface in ListGenModule

The /manage/[program]/[instance]/selectList view now shows you a user list
selector much like the new-style communications panel.  The old interface
is still accessible for now as 'selectList_old'.
Add direct link to approveclass in new class e-mail

This makes use of our existing approveclass() view function.

The link is placed at the end of the e-mail to encourage admins to read
the message before clicking it.
Add OPTIONAL gender field to student profile

This has been requested in the past, but it is disabled by default.  It
can be enabled with the Boolean Tag 'student_profile_gender_field'.
Add gender to user list generator
Fix lingering issue with user search template locations
Switch from our custom PhoneNumberField to Django's

We had switched over in the main user profile forms, but were still
using the unnecessary custom field in a few places.  We will lose the
default area code support, but oh well.
Remove custom PhoneNumberField

We don't need it anymore.
Change a lingering {{ MEDIA_URL }} reference to /media
Add initial data fixture with US Zip codes

Chapters have been having a problem where they can't use the
location-based user search until someone manually loads Zip codes into
their database.  I'm not sure this is the best solution since it is a big
text file and takes some time (15--30 sec?) to load at migration time, but
I would like to put it in and see if others think it is a good idea.
Clean up ProgramPrintables.coursecatalog view

I think it may have been the victim of some code rot.  It now works with
no extra arguments, but also with the class IDs ordered as coming from the
catalog view (which is a UI for filtering and ordering classes before
generating a catalog).
Add a /learn/[program]/[instance]/catalog_pdf view

This is essentially a redirect to the /manage/ coursecatalog view, except
with the same caching stuff that the normal catalog has.

It depends on the proxy cache; if there are reliability issues with this
we could just save the result in a static file and return the file if it
is not stale.
Remove some ancient views called {program,class}TemplateEditor
Add class info to /manage/userview page

For classes taught and enrolled in, shows the time and location of each
section.  For classes taught, shows the number of enrolled students and
capacity.
Change teacher battlescreen based on class status

These changes are meant to make the significance of the class's review
status clear.  The title is shown in gray if the class is unreviewed and
red if it is rejected or cancelled.  Links/buttons are hidden depending on
status as well.
Add schedule info and student counts to JSON class_info view

You will see this if you click the 'Status' button next to a class on the
dashboard when the JSONDataModule is enabled.
Add a DateWidget that works like the DateTimeWidget

Some code was shuffled in order to avoid duplication.  Basically, this is
a Django wrapper around the jQuery UI datepicker.
Add timeslot import from a previous program

This works much like the classroom import, except you have to pick out the
first day of the new program in order for it to know what date the
timeslots should be set for.
Remove print statement from resource module
Allow classrooms to be imported with complete availability

The classroom import form used to match the timeslots from the previous
program with the timeslots of the new program, and make the new classrooms
available only at those timeslots.  Now you can still do that, but there
is a checkbox on the classroom import form to simply create classrooms for
all of the new program's timeslots.