HSEARCH-1260 Refactor existing MassIndexer components

- Pipeline components in the MassIndexer don't need a new instance per thread
- Avoid starting threads in the constructor
- Use the new ErrorHandledRunnable to cleanup ugly usage of ErrorHandler
- Refactor Runnable implementation of MassIndexer to share a common parent
HSEARCH-1260 Merge the two DocumentBuilder indexing phases in a single one
HSEARCH-1260 Simplify HibernateSessionLoadingInitializer as we don't have to deal with detached collections anymore
HSEARCH-1260 Documentation updates regarding the removed stage and update configuration suggestions
HSEARCH-1562 Race condition in error reporting from IdentifierProducer

Conflicts:
	engine/src/main/java/org/hibernate/search/util/logging/impl/Log.java
HSEARCH-1562 Race condition in error reporting from IdentifierConsumerDocumentProducer
HSEARCH-1515 NPE because of inverted boolean check in IdentifierConsumerDocumentProducer
HSEARCH-1573 Take into account @ContainedIn annotations even if there is no corresponding @IndexedEmbedded

This patch brings back the behavior observed before a refactoring committed during the 4.4 cycle.
HSEARCH-1583 Collect collectionRoles taken into account in the optimizations to declare them for all subclasses

ORM considers that a field belonging to a @MappedSuperClass is attached to the first @Entity subclass.
Adding every collectionRoles to the subclasses seems to be a nice way to fix this without depending too
much on ORM behavior or JPA API.