Schedule slots for rollup only within catch-up period
Fix nits, increase default catup period to 48hrs
Use absolute timestamp for dropping slots
Test to prove that rollup fails for delayed metrics
Some nits
First pass at improving the shard state management and rollup scheduling
Make both ingest and rollup context push/pull
Add comments explaining changes, add another case to SlotUpdateOnRead
Merge branch 'chinmay/fix_rollup_bug' into chinmay/delayed_metrics_bugfix

* chinmay/fix_rollup_bug:
  Make both ingest and rollup context push/pull
Improve MetricsIntegrationTest to reflect the new updateslotsonread logic
Add slot state convergence test
Cleanup code and add comments explaining what I am doing
Add some comments for what I am doing with the test

Cleanup code a bit

Only update if the stamp which we have is not dirty
Mark Update stamp as dirty if a higher timestamp slot is not taking an update belonging to lower timestamp and has already been marked as dirty
Fix the InMemoryShardStateIO used in ShardStateIntegrationTest
Add concurrency test for shard state managers on different ingestion hosts
Make changes to Concurrency Test to account for InMemoryShardStateIO
Make shard state workers ordering changes
Merge branch 'chinmay/hotfix_dropping_slots_older_than' into chinmay/schedule_slots_only_beyond_a_certain_TS

* chinmay/hotfix_dropping_slots_older_than:
  Use absolute timestamp for dropping slots
  Fix nits, increase default catup period to 48hrs
  Schedule slots for rollup only within catch-up period
Change the ts to use
Merge branches 'chinmay/schedule_slots_only_beyond_a_certain_TS' and 'chinmay/delayed_metrics_bugfix' into rax-prod

* chinmay/schedule_slots_only_beyond_a_certain_TS:
  Change the ts to use
  Use absolute timestamp for dropping slots
  Fix nits, increase default catup period to 48hrs
  Schedule slots for rollup only within catch-up period

* chinmay/delayed_metrics_bugfix:
  Make shard state workers ordering changes
  Make changes to Concurrency Test to account for InMemoryShardStateIO
  Add concurrency test for shard state managers on different ingestion hosts
  Fix the InMemoryShardStateIO used in ShardStateIntegrationTest
  Mark Update stamp as dirty if a higher timestamp slot is not taking an update belonging to lower timestamp and has already been marked as dirty
  Cleanup code and add comments explaining what I am doing Add some comments for what I am doing with the test
  Add slot state convergence test
  Improve MetricsIntegrationTest to reflect the new updateslotsonread logic
  Add comments explaining changes, add another case to SlotUpdateOnRead
  Make both ingest and rollup context push/pull
  First pass at improving the shard state management and rollup scheduling
  Some nits
  Test to prove that rollup fails for delayed metrics