Task/product attribute interface

Bug fix: [no]
Feature addition: [yes]
Backwards compatibility break: [yes]
Unit test passes: [yes]
Behat scenarios passes: [yes]
Checkstyle issues: [no]*
ChangeLog updated: [no]
Documentation PR: [link to the documentation PR if there is one]
Fixes the following jira:

IMPORTANT : please read

This PR introduces a new ProductAttributeInterface interface, to make attribute options customizable for integrator. This causes important changes :

- ProductAttribute should not be used in the code
- The PimCatalogBundle:ProductAttribute should not be used in the code
- If you need to get the product attribute repository or to instanciate a ProductAttribute inside a service, you should inject the pim_catalog.entity.product_attribute.class parameter inside it

If you are currently working on a PR, please take account of these changes  :)