Process remaining unallocated tasks on error
Process remaining unallocated tasks on error

Right now the batch processing of unallocated tasks stops when there is
a task allocation failure. Instead we need to continue processing as
many tasks as possible from the unallocatedTasks queue. But only remove
the successfully allocated tasks from the unallocatedTasks.

Signed-off-by: Jana Radhakrishnan <045898bda7d4800fe4909a9831e702ab79e266be@docker.com>

cezarsa/swarmkit,docker/swarmkit,cezarsa/swarmkit,yp-engineering/swarmkit,fate-grand-order/swarmkit,sungwonh/swarmkit,diogomonica/swarmkit,jlhawn/swarmkit,allencloud/swarmkit,yongtang/swarmkit,dperny/swarmkit-1,alyyousuf7/swarmkit,yp-engineering/swarmkit,alyyousuf7/swarmkit,runshenzhu/swarmkit,cheyang/swarmkit,runshenzhu/swarmkit,vasil-yordanov/swarmkit,jlhawn/swarmkit,allencloud/swarmkit,dperny/swarmkit-1,deljuven/swarmkit,vasil-yordanov/swarmkit,RenaudWasTaken/swarmkit,RenaudWasTaken/swarmkit,deljuven/swarmkit,cheyang/swarmkit,elifa/swarmkit,fate-grand-order/swarmkit,AliyunContainerService/swarmkit,aaronlehmann/swarmkit,yongtang/swarmkit,AliyunContainerService/swarmkit,docker/swarmkit,Noyan759/swarmkit,Noyan759/swarmkit,elifa/swarmkit,diogomonica/swarmkit,sungwonh/swarmkit,aaronlehmann/swarmkit