Implements a simple request-response protocol for syncing peer tables across a network of peers
a requesting client asks for a remote peer's table and merges it with their own
requests are generated automatically upon a new connection
implements a custom Libp2p RequestResponse struct that has a public peer table, and takes in an externally Arc + Rwlock wrapped peer table at initialization (this allows for the table to be safely shared across multiple behaviours)