A Go library that takes arbitrary tasks and executes n at a time until done