Semi-automatically assign participants to project teams

Tool to try to give applicants one of their first-choice projects, by randomly assigning them a project, weighted by number of places remaining.