Remove the use of celery.group from bulk email subtasks.

I also generalized some of the subtask-generation code and moved it into subtasks.py.

@sarina @rocha ?