Refactor common initialization sequences.

I've been grossly violating the DRY principle for some time, in the name
of coding velocity.  After 9 or so acceptance tests, it's tiresome,
error-prone, and inconvenient to have to cut-and-paste the same
initialization code between modules.  The time is now to fix this,
before I write any more acceptance tests.  And, now that I have an
interface I'm happy with, writing future acceptance tests should go much
faster than even before.