Resource component extraction
Fix random CS rules.
Creating Product component from VariableProductBundle and ProductBundle classes

Conflicts:
	src/Sylius/Bundle/CoreBundle/Resources/config/doctrine/model/OrderItem.orm.xml
	src/Sylius/Bundle/CoreBundle/Resources/config/doctrine/model/VariantImage.orm.xml
	src/Sylius/Component/Product/Builder/ProductBuilder.php
	src/Sylius/Component/Product/Builder/PrototypeBuilder.php
	src/Sylius/Component/Product/spec/Sylius/Component/Product/Builder/ProductBuilderSpec.php
	src/Sylius/Component/Product/spec/Sylius/Component/Product/Builder/PrototypeBuilderSpec.php
Initial Variation and Attribute implementations
Move taxonomy rule checker and fix some specs
Fix prototype building
Fix the product validation
Add repository interface and fix promotion scenarios
Fix form specs
Adjust composer.json's
Review bundles composer files