Move some file IO out of Config constructor.

And out of instance methods.  Should remove some stubbing in tests... to
be seen.
Replace some file system stubbing with class function stubbing.

And ensure the file system interaction works with tests around those class functions.
Remove stubbing

By migrating tests closer to their implementing class and by separately
testing a few file-system interaction and helper methods.
Remove more stubbing
Pathname helper is helpful
Extract Config Persistence to a module
Hide private Config Persistence methods
Clarify: the Config file format is YAML
Isolate file system stubbing into Config Persistence tests
Make Config tests more self-contained
Make Config Persistence appear to be private
Extend uses of Pathname
Whitespace
Require initial Config settings
Restore test for an old bug

No code needs to change because the fix has remained in place.
Remove more filesystem manipulation from instantiation of Config

This avoids unintentionally creating directories when running tests.
Swap method names, to show which one is destructive
Prevent bug in 0.9 upgrade tool

Could have resulted in failures moving old files to new directory.
Document why we do not use fetch in Config initializer
Group related config tools together.

And remove more stubbing in tests.