better faking out of config dirs

Earlier, when using custom config dirs (e.g., when running tests),
the shared state of the XDGConfig was not being cleared properly
before tests started.

The effect of this was that certain test cases would run on the
$XDG_CONFIG_HOME directory instead of in the temporary directory
that was intended to be used to prevent collateral damage.

This change ensures that config objects with __shared_state variables
(i.e., "borg objects") have their state properly wiped before running
tests that do collateral damage.