Adding pluggablility to work allocation, along with a new work allocation strategy to group small topics within the same task.

This was intentional, but perhaps it would be better to only include the small partitions.