8ef34ec1

By: Tom Sydney Kerckhove <syd@cs-syd.eu>

Run persistent baseline phase in its own database

runSqitchPersistentChecks used to run the persistent baseline phase
(phase 1) and the sqitch deploy phase (phase 2) against the same
ConnectionPool, with a DROP/CREATE SCHEMA dance in between. Two
problems:

  * If phase 1 leaves anything outside public/sqitch (extensions,
    other schemas, dangling sequences) the wipe doesn't remove it and
    phase 2's snapshot sees the leftovers.
  * If phase 1 crashes partway, phase 2 inherits whatever state it
    left behind.

Allocate a fresh ConnectionPool for phase 1 via
connectionPoolSetupFunc against the same TemplateDB. The freshly-copied
database is empty when phase 1 starts and torn down (DROP DATABASE
WITH FORCE) the moment the snapshot is captured. Phase 2 stays on the
caller's pool, exactly as before.

sqitchPersistentExtraSetup haddock updated to note that the two runs
now happen on different databases.