[IMP] product: refactoring of product variants.

[IMP] product: refactoring of product variant. The main view became the view of product template and the product product (or product variant) are created with the variant values combination. Bom is splitted into bom and bom line and can use the variant combination.