add run_intelligent_topic_assignment button, add dropdown menu to select intelligent algorithm in assignment edit page, add is_intelligent:boolean to assignments table, add lottery_controller to hold algorithm.
migrate : addFalgBidType
Revert "migrate : addFalgBidType"

This reverts commit 87a3463c5d87d998bb97b2d4db4d43f5711710f8.
bug fix
cannot figure out the bug
--
signup_topic delete works
leave a topic
set priority on signup sheet

if user selects a topic, he will be waitlisted for that topic with
priority null. He now gets an option to assign a priority to the topics
he has chosen
algorithm implemented
if assignment has more choosers . modified algorithm
compile error
migrations
comments added
bug fix
test cases

1 unit test in signed_up_user and 2 functional tests in lottery
controller. Relative fixtures are added as well.
bug fix. rand function also updated, so can be updated easily in future
code merged from last years project
more comments and code for displaying messages

when a student drops a topic and there are other teams on the waitlist,
instructor will have to rerun the algorithm
.