Enable archiving of products

Things that this PR does:

- Adds UI to archive products (duplicated from the users page)
- Refactor the users and products UI into one base view model function to remove duplication
- Adds sql table to track products (which is currently one way synced from couch)
- Prevents archived products from being sent to the phone
- Adds a filter to include archived product data in reports
- Prevents archived products from being downloaded in product export

this might be a good chunk of code to move to its own function, e.g. `sync_product_to_sql`. a benefit of that would be that function would be really easy to test on its own