Rewrite the delete_rows function.
Loop through and make sure we have the maximum number of async targets running at all times.
Moved much of the logic to per-target attribs.