[PoC] Create Archetype Component and Bundle to replace Product Prototype and allow for inheritance

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | yes
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #2001
| License       | MIT
| Doc PR        | pending

The new Archetype component and bundle is designed to replace the existing Product Prototypes, introducing inheritance between archetypes, and to be abstract, so any model other than a product can be the subject of archetyping.


![image](https://cloud.githubusercontent.com/assets/5972864/5427264/b84db3f2-838a-11e4-9c00-8246c5bf8de4.jpg)


I'll probably need some assistance with resolving the interfaces to the correct Doctrine mapping, or whether my implement is correct or not.

- [x] Create Archetype component
- [x] Pass specification tests
- [x] Create Archetype bundle
- [x] Replace Product Prototype with Archetype
    - [x] Update services
    - [x] Update Doctrine mapping
    - [x] Update validation
    - [x] Update translation fields
    - [x] Map parent and child via LoadMetadataSubscriber instead of XML to make mapping valid
- [x] Pass feature tests

I will remove this file to be consistent with the other packages. However, I have found running PhpSpec within the directory of any of the packages to not work. It doesn't find the class and prompts to create a new one. Probably a separate issue that I think Arnaud is looking into https://github.com/phpspec/phpspec/pull/350