use _test suffix for spec files
improve config system

instead of manually calling reset_config() for the desired config and
letting the specific config manage and reset its dependencies, let
configs specify a metadata dict that declares dependencies.
an entry point using a config now only specifies its used configs by
their containing module name.
the Configurations singleton then takes care of importing the configs
and resolving the dependencies.