lazy-init Evented pg.Pool: defer creation until first fiber runs
pg.Pool.initUri does TCP connects via io_uring, which requires the Evented
event loop to be running. creating it during main() init (before the
scheduler starts) fails with NetworkDown — io_uring can't submit ops yet.
fix: store ev_io/db_url/pool_size config on DiskPersist, create the pool
on first use via ensureEvDb(). uses CAS-based init-once — first fiber to
call it creates the pool, concurrent fibers yield-wait via ev_io.sleep().
also changes backfiller/cleaner from storing *pg.Pool to *DiskPersist,
accessing the pool lazily via self.persist.ensureEvDb().
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>