User configurable reports

the plan is to pilot/QA on this on prod so I'm putting it out for code review now. I'm guessing it's easiest to review as a whole, though the commits should represent ~atomic actions.

I think it's good to merge whenever code review passes.
two important things to note here:

1. this requires a cloudant DB to manually be created.
2. this is my proposal for how we should handle new "non-essential" models that can live in a different database than forms and cases and can be reindexed much quicker and easier.