OGM-445 Replacing StartStoppable with SchemaInitializer contract

(Based on top of https://github.com/hibernate/hibernate-ogm/pull/337, the actual diff of this PR can be found [here](https://github.com/gunnarmorling/hibernate-ogm/compare/OGM-264...OGM-445))

* Establishes a new contract `SchemaInitializer` which may be invoked in a flexible manner in the future, independently from the SF lifecycle, e.g. based on the _hbm2ddl_ setting or when `Persistence#generateSchema()` is invoked.
* Moves several services from the SF registry to the standard registry; This allows to consume the `GridDialect` during the configuration of identity generators
* Getting rid of custom integrators in the backend modules and using `SchemaInitializer` implementations instead.
I haven't changed the actual contract towards schema implementation routines, i.e. they'd still be based on `Configuration` and the SF. One could think about more specific methods such as `initializeSequenceGenerator(s)`, `initializeEntity|ies()` etc. but I'm not really sure how that should be represented. I think we can evolve this once we actually have dialects with fixed schemas and can experiment a bit.

I've thus marked the contract with a new annotation `@Experimental`. I went for the annotation-approach as it e.g. allows to find all experimental API members at once in the generated JavaDoc and it facilitates tool-based evaluation.