Add public_id to purchase JWT (bug 998151)

- Change generic product to be shared across payment accounts
- Add public_id to JWT
- Add a management command to populate existing product public ids
- Update tests