Improvements to @Xyene's contest models.

1. Allowed contests, contest submissions, and contest history to be blank
2. Allowed contests to have descriptions.
3. Used a fancy TimedeltaField to do better time handling.
4. @property magic to automagically create a ContestProfile for user
5. Linked ContestParticipation to users