MGI-2282. Minimally invasive implementation to use EntityStore in TaskTracker. MarathonTask is generated and final and cannot directly extend MarathonState. To enable usage of the existing EntityStore and MarathonStore implementations, I added the MarathonTaskState wrapper, that is used to wrap a MarathonTask into a representation that can be used to parameterise EntityStore and MarathonStore.
Suggested review order:
1. everything else