(mostly) finish coverage for democracy

It's not completely covered, but this is all the parts I plan to use in
OSNAP. When it eventually gets spun off into its own app, I'll finish
covering the rest. For now, I want to get started on the UI.