Enable more efficient query for expired objects in Cycle

* `get_cache_key` only requires `type` and `id`, so enable other
  representations of that data (tuple or dict)
* `Cycle.cycle_task_group_object_objects_for_cache` then only needs
  `object_type` and `object_id`, so no need to query for the full
  `.object` instance