fixes assignment creation by adding an entry into the task table and properly removing it when deleting. Also validates user input so that people cannot assign more citations than the project actually has, date is properly checked and errors reported, at least 1 user is selected to assign.