checkpoint for commtrack ui stuff - UI tab changes and adds dynamic sidebar navigation

Mutually dependent on https://github.com/dimagi/payments/pull/12

This should probably go on staging, although I'm relatively confident it's fine, but I'm submitting it now for review.

It makes all of the sidebars dynamically generated based on their definition in the tab classes hqwebapp/models.py in most currently accessible parts of HQ (except reminders, and I don't think anything else).

It also lets the existing Project Reports / Active Data Management subtab UI element be a generic configurable UI thing -- you just create a new Tab class which has other tabs as its subtab_classes attribute.  The dropdown definitions remain independent but a default implementation could be based on the sidebar items, including for subtabs.

I also made the stuff that caused the couch_user kerfuffle a little more robust.

This also adds the new requirement that a tab's default URL (which is only clickable if it doesn't have a dropdown, but whatever) must be a proper substring of all of it's sidebar item's URLs, not how it was before where some tabs defaulted to the URL of a certain page instead of a generic redirect URL for that tab, so I've changed it in those places.