[WIP] Create Archetype Component and Bundle

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | yes
| Deprecations? | no
| Tests pass?   | no
| 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.

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
- [ ] Replace Product Prototype with Archetype
    - [x] Update services
    - [ ] Update Doctrine mapping
- [ ] Pass feature tests