Generalized mailing job queue

These components can still be used independently (see the current state of
the Thank You and WMF End of Year Receipt modules), but this commit introduces
a generalized implementation of mailing jobs.

The design of this job queue is significantly different than what we're
currently doing.  Most importantly, the template parameter variables should
be calculated before inserting your recipients into the queue, so the mailing
process can remain agnostic of the business logic.  The impact on thank_you,
for example, if we were to migrate to this Job class, would be that the
contact and contribution information would be saved to the database during q2c,
and the TY job would simply pull data out of its queue and render using letter
templates.

TODO: do something to actually test the generated email contents, by replacing
the templates with simple, known quantities.

Change-Id: I36cd21a1bff531931565e1248e8c39edd0a066c4