[Product] Prevent setting many master variants on products

Fixes #1383.

TODO:
- [x] migration script
@stloyd How do you make sure `setMasterVariant` is called before `getMasterVaraint`?