Go implementation of an abstract job/worker pool