Add ability to delete products
Switch to deleting
Cleanup delete UI
PEP8, commenting, renaming, DRYing
Change default to uncategorized and prevent edits
Make soldevelo's method name more conventional
Add management command to migrate programs
Merge remote-tracking branch 'origin/master' into archive-programs

Conflicts:
	corehq/apps/commtrack/util.py
	corehq/apps/commtrack/views.py
Fixed import
Add Edit Product Fields Model view
Enable custom data for products
Add management command for product data
Add ability to import/export custom product data
Merge branch 'archive-products' of github.com:dimagi/commcare-hq into archive-products+custom_product_data
Merge branch 'custom_product_data' of github.com:dimagi/commcare-hq into archive-products+custom_product_data

Conflicts:
	corehq/apps/commtrack/models.py
	corehq/apps/commtrack/views.py
Fix missing import bug
Fix JS error on new program page
Fix weird readonly field behavior

Previously navigating to the default program page, going back to the
program list, then adding a new program would cause the new program name
to be uneditable.
Merge branch 'archive-programs' of github.com:dimagi/commcare-hq into archive-programs
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.