Break out internal product properties into a more generic polymorphic internal properties model.

Initial commit that applies internal properties to product and variants. Does not support adding/updating/deleting internal properties.