Subtypes and forbidden subtypes are now declared in doctype contributions and handled by the SchemaManager service, at the core level.
Ecm type contributions, made for the UI, will propage subtype and denied subtypes to core. For each registered ecm type, only one document type descriptor will be contributed to the Schema Manager, even if several contributions for the same ecm type are made. This allows us to reuse the merging mechanism done at the non-core level and easens the undeployment. On the other hand, the UI TypeService is responsible for registering a callback that will update the UI types with the subtypes from core.
A new facet is introduced, HiddenInCreation, which is used to identify doctypes that should not be visible on creation.
Move allowed subtype declarations to core and make platform TypeService rely on these clore declarations. Move subtype and icon contributions to core so that they are available even without JSF.