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.
You removed this from [ corehq/apps/userreports/reports/view.py:96](https://github.com/dimagi/commcare-hq/pull/4596/files#diff-783410c84f07dfc780a4e0e3a8e6dfa9R96). Should this one go too?