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.
Same thing here.