PIM-3260 : first draft of products updater api

Conflicts:
	src/Pim/Bundle/CatalogBundle/PimCatalogBundle.php
PIM-3260 : add an example with locale and scope
PIM-3260 : add a first copier POC
PIM-3260 : update examples
PIM-3260 : rework interfaces to typehint locale and scope
PIM-3260 : remove field support
PIM-3260 : typehint with AttributeInterface in setters
PIM-3260 : add AttributeInterface typehint in copier
PIM-3260 : add a first setter spec
PIM-3260 : add extra check on locale and scope
PIM-3260 : ensure to set the attribute first
PIM-3260 : add a tmp attribute utility (re-working this in other PR)
PIM-3260 : first metric setter
PIM-3260 : update example for review
PIM-3260 : ad product builder interface

Conflicts:
	src/Pim/Bundle/CatalogBundle/Builder/ProductBuilder.php
PIM-3260 : add specs to product updater
PIM-3322 : Added Setters and specs for updater
PIM-3322 : Refactored code by renaming var and extract validation method
PIM-3260 : clean edit common attributes and fix cs
Merge pull request #1714 from akeneo/PIM-3260-updaters

PIM-3260 : product update api