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-1486 Minimize allocation cost of iterating on metadata fields