Backend\MonitoringBackend: base class for backends

refs #7635
IdoBackend: concrete backend implementation

Nothing special to be found here. Not yet.

refs #7635
Monitoring\Backend: reduce to compat facade

This is a facade for Monitoring\Backend right now. To be removed as soon
as it got replaced everywhere.

refs #7635
DataView: query instantiation is up to the backend

refs #7635
Monitoring\Object: use MonitoringBackend

refs #7635
MonitoredObject: use MonitoringBackend::instance

refs #7635
MonitoringBackend: handle null name in a nice way

When we get null as a backend name, we load the default one. While we
want to cache that null backend, it should still know about it's real
name.
MonitoringBackend: add clearInstances()

refs #7635
MonitoringBackend: remove comment for SOLID fanboys
MonitoringBackend: fix variable name in exception

refs #7635
MonitoringBackend: just a few comments

fixes #7635
Merge branch 'master' into feature/backend-classes-7635
Merge branch 'feature/backend-classes-7635'