Add text-message sending panel

There is now a module which allows the texting of broad subsets of
students using Twilio.
Clean up unnecessary files
Make changed suggested by review

Un-hardcode email address, throw descriptive error if not properly
configured, remove dead commented code.
Merge remote-tracking branch 'hobinjk/group-texting-module' into group-texting-module
Add twilio to requirements.

Note that the Twilio API Python client is free software.
Some minor adjustments to the text messaging module.

The user selection now uses the regular user search controller instead of selecting specific lists. Instead of printing to console, what was printed will instead be displayed on the finalization page. The user interface is now three-stage instead of two-stage, with an intermediate stage where the user can double-check the number of users who will be sent a text message.
Group texting module: remove template files that are no longer used.
Fix send_text_messages script.
Update classchange controller for schema modifications.
Update class changes email for Spring HSSP 2014.
Fix students not checked in query.
Fixes class changes form

Request StudentRegistrations were being created with an end_date of
9999-01-01, which is incorrect for ExpirableModles. Removes this
assignment, so that end_date is correctly set as None when new
registrations are created.
Merge branch 'main' into group-texting-module
Merge branch 'main' into group-texting-module
Add configuration check to group texting module

The module uses Twilio and requires 3 settings:
- TWILIO_ACCOUNT_SID
- TWILIO_AUTH_TOKEN
- TWILIO_ACCOUNT_NUMBERS

If these aren't set properly, the module won't work, and I think it is
good to explain this in case it happens.
Display estimated time before sending text messages

In previous versions of the code, the time estimate was sent after all
messages had been sent, which was not very helpful.
Add placeholder Twilio settings in django_settings.py
Adds admin panel link to userview page.
Remove unused dblog code.

Looks like this app was designed to log errors in the database.  The last time
one was logged on esp.mit.edu was in 2010, so I don't think we're actually
using this functionality; let's kill it!

It was called in a few places:
* users.getTaughtClassesFromProgram attempted to log, but not raise, an error.
  This is really bad anyway so it now raises ESPError.
* the ESPError middleware attempted to save the error to the database after
  sending it to serverlog, but it was wrapped in a try-except block, and
  doesn't seem to have been happening.
* Some other navbar view imported, but did not use it.  That entire view seems
  to be unused, so I deleted it too.

I think in the long term we should probably improve our logging setup, possibly
involving a new-and-improved way of logging errors to the DB, but I don't think
we will actually want to build on this.

Solves #979.
Or maybe that navbar thing wasn't unused.

Bring it back and remove unused imports instead.