Add initial migration and participant adding/editing

This adds participant adding and editing, in the "Manage Participants" section. Also includes the initial db migration.
My feeling is that the anonymous Participant functionality should be moved into its own package so that it can be reused easily. (I think you mentioned this too.) And maybe this is a good first step. I am finding the mixin a little strange also, but why don't you go with this and see how it feels? Definitely change the name from UserProfileMixin to something like InactiveProfileMixin or some such thing to help differentiate it.