Custom product data

This PR is for merging custom product data into the custom user data branch (https://github.com/dimagi/commcare-hq/pull/4292) that it was branched off of. Ultimately these are going live together, but this PR is being made to make review easier.
Alternatively the code could be restructured so this method does not save the product.