Splitting of the flat product normalizer

| Q                    | A
| -------------------- | ---
| Bug fix?             | no
| New feature?         | no
| BC breaks?           | yes
| CI currently passes? | yes
| Tests pass?          | yes
| Scenarios pass?      | yes
| Checkstyle issues?*  | no
| PMD issues?**        | no
| Changelog updated?   | no
| Fixed tickets        |
| Doc PR               |

## Todo
- [x] Fix FlatProductNormalizer tests/specs
- [x] Refactor Normalizer NS (Common, Flat, Structured)

Before:
```
src/Pim/Bundle/TransformBundle/Normalizer
├── AssociationTypeNormalizer.php
├── AttributeGroupNormalizer.php
├── AttributeNormalizer.php
├── AttributeOptionNormalizer.php
├── CategoryNormalizer.php
├── ChannelNormalizer.php
├── FamilyNormalizer.php
├── Filter
│   ├── FilterableNormalizerInterface.php
│   ├── FlatProductValueNormalizerFilter.php
│   ├── NormalizerFilterInterface.php
│   └── ProductValueNormalizerFilter.php
├── FlatAssociationTypeNormalizer.php
├── FlatAttributeGroupNormalizer.php
├── FlatAttributeNormalizer.php
├── FlatAttributeOptionNormalizer.php
├── FlatCategoryNormalizer.php
├── FlatChannelNormalizer.php
├── FlatFamilyNormalizer.php
├── FlatGroupNormalizer.php
├── FlatJobInstanceNormalizer.php
├── FlatProductNormalizer.php
├── FlatTranslationNormalizer.php
├── GroupNormalizer.php
├── JobInstanceNormalizer.php
├── MediaNormalizer.php
├── MetricNormalizer.php
├── MongoDB
│   ├── AssociationNormalizer.php
│   ├── DateTimeNormalizer.php
│   ├── GenericNormalizer.php
│   ├── MetricNormalizer.php
│   ├── PriceNormalizer.php
│   ├── ProductNormalizer.php
│   └── ProductValueNormalizer.php
├── ProductNormalizer.php
├── ProductPriceNormalizer.php
├── ProductValue
│   ├── AbstractDataNormalizer.php
│   ├── BooleanNormalizer.php
│   ├── CollectionNormalizer.php
│   ├── DateTimeNormalizer.php
│   ├── MetricNormalizer.php
│   ├── OptionNormalizer.php
│   └── PriceNormalizer.php
├── ProductValueNormalizer.php
└── TranslationNormalizer.php
```

After:
```
src/Pim/Bundle/TransformBundle/Normalizer
├── Filter
│   ├── FilterableNormalizerInterface.php
│   ├── FlatProductValueNormalizerFilter.php
│   ├── NormalizerFilterInterface.php
│   └── ProductValueNormalizerFilter.php
├── Flat
│   ├── AbstractProductValueDataNormalizer.php
│   ├── AssociationTypeNormalizer.php
│   ├── AttributeGroupNormalizer.php
│   ├── AttributeNormalizer.php
│   ├── AttributeOptionNormalizer.php
│   ├── CategoryNormalizer.php
│   ├── ChannelNormalizer.php
│   ├── CollectionNormalizer.php
│   ├── DateTimeNormalizer.php
│   ├── FamilyNormalizer.php
│   ├── GroupNormalizer.php
│   ├── JobInstanceNormalizer.php
│   ├── MediaNormalizer.php
│   ├── MetricNormalizer.php
│   ├── PriceNormalizer.php
│   ├── ProductNormalizer.php
│   └── TranslationNormalizer.php
├── MongoDB
│   ├── AssociationNormalizer.php
│   ├── DateTimeNormalizer.php
│   ├── GenericNormalizer.php
│   ├── MetricNormalizer.php
│   ├── PriceNormalizer.php
│   ├── ProductNormalizer.php
│   └── ProductValueNormalizer.php
└── Structured
    ├── AssociationTypeNormalizer.php
    ├── AttributeGroupNormalizer.php
    ├── AttributeNormalizer.php
    ├── AttributeOptionNormalizer.php
    ├── CategoryNormalizer.php
    ├── ChannelNormalizer.php
    ├── DateTimeNormalizer.php
    ├── FamilyNormalizer.php
    ├── GroupNormalizer.php
    ├── JobInstanceNormalizer.php
    ├── MediaNormalizer.php
    ├── MetricNormalizer.php
    ├── ProductNormalizer.php
    ├── ProductPriceNormalizer.php
    ├── ProductValueNormalizer.php
    └── TranslationNormalizer.php
```
protected