Refactored m4change datespan filter, and made it default in commcarehq.
Updated possible selections and date ranges.
Allow reminders to start on a specific day of the week
Merge branch 'master' into reminder-day-of-week
Reorganize how reminder day choices are displayed
Restrict allowable time options based on start date choice
Update ui to allow choosing day of week on which to send reminder
Updated date ranges according to latest QA comments.
Added migrations to ilsgateway module
Removed last quarter option from DateSpan filter, also added custom default datespan for Submit History Report.
change ota restore caching settings to standard defaults

- always cache if a sync token present
- always cache initial syncs if they take > 1 minute
- never cache initial syncs that take < 1 minute

this commit has all the core functionality changes, but the calling code
and tests still need to be cleaned up.
remove caching_enabled option from RestoreConfig, update tests
fix other tests that default caching broke
fix existing tricky caching bug revealed by tests

invalidating the cached payload before save was actually blowing
away any local changes that had been made to the SyncLog

I expect this to be a big source of inconsistent force syncs in the field.
add cache purging to test
fix broken test

this was actually just testing the expected behavior of a bug that
was in the system. the correct behavior is now tested
remove caching setting from domain model and UI
pep8
move sync token logic into couchforms
invalidate cached payloads on any commtrack submission with ledgers

this fixes another existing bug with caching + commtrack

we have to do this because the consumption ledger is generated dynamically