Minor improvements to DFS classes

> Status: for discussion

Makes the API more extensible, and more open to new stack bundles. Usage of those changes is illustrated in https://github.com/bdunogier/io-legacy-dispatcher-bundle/pull/1:

- the singleton added a requirement for an extra reset;
- `resetDBBackend()` is used to reset the backends once the kernel is built;
- A service, declared in the extension, is injected to the INI settings pre kernel build
why is the instance cache removed?