Core: Allow to configure custom thread pools

The `oldExecutorHolder ` variable will be `null` in the case the settings contains a thread pool not defined in the initial settings in the constructor. The if statement will then fail and so this prevents the addition of new thread groups at runtime, which I think is what we want.