Store performance for issue #358

+ Tasks are now stored as individual keys.
+ Apps using the old storage format will be migrated on their first read if found.
+ Marathon performs some cleanup of orphaned tasks once after a reboot.
+ Added comprehensive unit tests for the TaskTracker module and refactored code slightly.
The TaskIdUtil has no configurable parameters and is used only in the marathon scheduler.
Would it be a better alternative to make it a trait?
(so you don't have to pay the tax of dependency injection)