Adds backend for email sending to user contacts

The current schema of the commpanel email sending system allows for
sending to an arbitrary list of users. However, it could not send to an
arbitrary list of emails, so it was impossible to construct a commpanel
filter such as "email all guardians of all students enrolled in at least
one class".

This commit migrates MessageRequest to have a sendto_fn_name CharField.
This holds the name of a function in esp.dbmail.sendto_fns which takes a
user and outputs a list of related addresses to send to. The default
behavior is the old behavior, to only send to the user itself. However,
additional functions can be used instead to specify guardian emails,
emergency contact emails, and combinations of those. During the
processing of a MessageRequest, each user in the PersistentQueryFilter
of recipients is passed to the named sendto function, and those
addresses are sent mail.
Frontend for mailing guardians, emergency contacts

Adds commpanel functionality for emailing guardians, emergency contacts
of the students that match the usersearch query.
Adds release documentation for guardian emailing