Decoupling users and contests, allow tasks to be unassigned to any contest

I'm creating this PR to keep track of what it's needed to separate users from contests and to allow task to be unassigned to any contest. Once all this is merged onto master, task cloning support should be drafted.

To do list:
- [x] Change loader interfaces in order to import users/tasks/contests separately.
- [x] Do changes needed to separate users from contests (add UserContest).
- [ ] Revert changes done to separate tasks from contests (remove TaskContest).
- [ ] Do changes needed to allow tasks to be unassigned to any contest.
- [ ] Change the cmsAddUser script, making it use a UserLoader.
- [x] Create a cmsAddTask script, which uses a TaskLoader.
- [ ] Change AWS as needed to handle users/tasks *before* selecting a contest, that is:
  - Make user creation and task creation contest-independent.
  - Change the homepage (currently it forces to choose a contest or to create one), by allowing to access a list of all existing users (same for tasks).
  - Allow to tie an existing user (or existing, but unassigned yet, task) to an existing contest.
- [ ] Decide how to handle dump exporting/importing.
  - Currently, a dump is a "contest dump". A possible solution is to redefine a dump as an entire "database dump".