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

EtlRequest if kafka specific.  CamusRequest is a step towards abstraction.  With a longer view towards using Camus for other pub sub systems.  Also, EtlRequest felt a little too concrete to pull into common-api.