Feature/additional tests (part 2)

* adds tests for function assign_track_and_create_student, other controller methods, new model methods, and adds two more tests to cover all of experiment_pages
* note: this is Part 2 of feature/additional_tests.


How does the code know which track to delete when decrementing?  This is especially a concern for weightings that are not uniform.  We may have touched on this last week, so perhaps the logic will change in a future PR.