[MCCS-1821] Fix failed Allocate staying in queue forever
When MccsController.Allocate() is called with some sort of incorrect allocation (e.g too many channels), it will stay in the queue forever as the task_callback is never updated. This MR moves the check within the submit_task so we can update the task_callback.
Edited by Tom Moynihan