DEV: Add framework for filtered plugin registers (PR #9763)

Plugins often need to add values to a list, and we need to filter those lists at runtime to ignore values from disabled plugins. This commit provides a re-usable way to do that, which should make it easier to add new registers in future, and also reduce repeated code.

One commit introduces the framework, the second migrates a few commonly used APIs to the new framework


This seems nice to me. I appreciate the backwards compatibility. We’ll have to keep an eye on that to make sure it works correctly with existing plugins.