CYB-226 Engagement Index should be frequently, automatically, updated

* In this part, the async workers are created for the updating
* Includes some refactor of the processors to avoid duplication (i.e., to  have
   api call paths in one place)
* Reintroduces redis and sidekiq for the worker processing

[CYB-226 Engagement Index should be frequently, automatically, updated](https://jira.ets.berkeley.edu/jira/browse/CYB-226)
@coyote add break