Reenable membership confirmation homepage links

Reverts 9ec48f91251079386926dd3484084a6f34e0480e, when we hid them temporarily
after last cycle.
Clearer terms for confirming membership (ASA-#151)
Easily allow unconfirming membership (ASA-#160)
Select groups from roles held on membership page

Add a new option to the membership confirmation page, to allowing selecting
groups from amongst the ones that list the user as having some role. Fixes
ASA-#140.
Minor cleanup of person membership update view
Remove some print statements
Warn students when they confirm group membership

Previously, non-students could confirm membership in a group, and we would just
silently not count it.  Now, when they visit the page, they get a warning
message. Also, the page text has been changed to reflect the requirent to have
at least five *student* members, not just at least five members.

Fixes ASA-#152.
Membership confirmation: report 50% violations

In membership/admin/issues.csv, report groups that report fewer students than
non-student members. Fixes ASA-#53.
Serve membership/admin/issues.csv as text/csv

Firefox can be told to open a text/csv in the browser using the "Open in
browser" extension, so serving CSV files as text/plain no longer has
significant advantages (for me) over serving as text/csv, and has the
disadvantage of making it hard to open as a spreadsheet. Thus, I'm switching
back to text/csv.
Only create initial revisions for certain models

In a1ff79acdb702ef5c772fee64d7d590c20ce872a, we added a call to
"call_command('createinitialrevisions', 'groups', )" from
groups/migrations/0019_initial_revs.py. At the time, this worked fine.

In 7ef71434d4c2b3c956ac3ddbfbc4d9701dc5ae38, we added the GroupConstitution
model (and associated migration groups/migrations/0020_constitutions.py). This
continued to work fine.

In 5f07d507a34af8380a1d12348a9019657640877f, we marked GroupConstitution as
tracked by reversion. This, too, mostly worked fine. As long as you ran
./manage.py migrate between applying a1ff79ac and this commit, you were set;
given that this is about a nine month interval (with half a dozen migrations
added in the interim), this didn't actually break anything immediately.

Unfortunately, if you didn't run ./manage.py migrate in the interim,
groups:0019_initial_revs would try to create the GroupConstitution revisions,
but GroupConstitution would not yet exist. Predictably, this goes poorly.

Compounding the issue, there is one ~common case that will result in this sort
of migration application timing: setting up a new instance of the ASA DB
(presumably for development) will apply all the migrations in one go.

By changing groups:0019_initial_revs to specify the models that need to have
initial revisions, this no longer blocks initing a new DB. I've verified that
no other migrations run createinitialrevisions. (Fixes ASA-#73.)
Fix space:0004 migration on new install (ASA-#172)

On a fresh install, space:0004_add_ebm_permissions will fail the first time it
is run because the create signals have not yet been emitted. Emit them
explicitly so that the migration actually works. See
https://groups.google.com/forum/?fromgroups=#!topic/south-users/ZmmUyrrRoYU for
details.
Improve the header of the exported HTML files

Files in question are /mit/asa-db/data/db-dump/{midway,website}_groups.html, as
generated by groups/format_groups.py midway and util/export_website_groups.py.

Added information:
* Paths to /mit/asa-db/data/db-dump/*.html generated files (ASA-#134)
* Timestamp of generation (ASA-#135)
* Who can re-run the scripts (ASA-#136)
* Which groups are included
Remove some dead code

Membership confirmations don't use the year...
Finish support for group membership update cycles

The revised workflow is that you visit a group selection page, and select a
group to update. That checks authz (ASA-#169) and then loads any old update in
the appropriate cycle (ASA-#27).
Merge branch 'membership-confirm'