ISPN-9863 Fix leak-related random failures * Move leak detection to a @AfterSuite configuration method. That way leak detection works even if the last test does not extend AbstractInfinispanTest. * Also move detection of wrong/missing groups or testName to a @BeforeSuite method + fix LimitExpiryFactoryTest. * TestNG modules run ThreadLeakCheckTest from commons-test. * JUnit modules check for thread leaks in JUnitTestListener and/or TestResourceTrackingListener. * JUnitTestListener.testRunFinished failures still build, so tests that may leak threads should use TestResourceTrackingListener.
ISPN-10137 Replace component metadata files with generated classes * Move component annotations to module component-annotations * Generate accessor classes with annotation processor * Deprecate ComponentMetadataRepo, replace with ModuleRepository * Delete component metadata persister * Require lifecycle with @InfinispanModule in each module * ModuleLifecycle is no longer a service * Require @Scope for injection and lifecycle * Require @MBean for managed attributes or operations * @Scope and @MBean are inherited (only from classes) * Require duplicate @SurvivesRestarts on subclasses * Annotated classes, fields, and methods must be package-private * Anonymous classes are not supported * Deprecate lifecycle method priorities * Test module can register components via global configuration