This should close #49.

The app can handle the cancelled status. CSS has to improve on the user
main page and there is surely a better way to deal with existing
attendances on each event's page. But it, otherwise, seems to work.