Add lottery frontend program module.

As the name implies, this serves as a frontend to the lottery registration assignment class. Currently it only allows configuration of parameters, running the lottery, and saving the results (or clearing previously saved results).

See Issue #803.
This should either be try_mailman=True by default, or if it's actually still broken we should do something about it other than silently failing to update mailman. See #1116.