Simplify aggregation update queue control flow (#100146)
Now that we are no longer suspending we can simplify control flow and
implementation of the AggregationUpdateQueue
* drop an unneeded `Clone` derive
* process batch tasks via loops instead of `pop` + `push_front`
* when we run out of optimization quota just immediately tag everything
instead of popping each task and checking the quote again
* simplify the public apis