A test module for logical decoding failover and timeline following.

This module provides a minimal way to maintain logical slots on replicas
that mirror the state on the master. It doesn't make decoding possible,
just tracking slot state so that a decoding client that's using the master
can follow a physical failover to the standby. The master doesn't know
about the slots on the standby, they're synced by a client that connects
to both.

This is intentionally not part of the test_decoding module because that's meant
to serve as example code, where this module exercises internal server features
by unsafely exposing internal state to SQL. It's not the right way to do
failover, it's just a simple way to test it from the perl TAP framework to
prove the feature works.

In a practical implementation of this approach a bgworker on the master would
monitor slot positions and relay them to a bgworker on the standby that applies
the position updates without exposing slot internals to SQL. That's too complex
for this test framework though.
