refactor Peering & RecoveryState & add PGRecoveryStateInterface

draft that compiles

Signed-off-by: Loic Dachary <loic@dachary.org>