handshakingLoomPair

A host/joiner Loom pair wired by one in-memory connectionPair: each end weaves a handshaking seam, exchanging Hello preambles so each side discovers the other's PeerId. For driving us.tractat.kuilt.conformance.SeamConformanceSuite against the handshaking seam.

Concurrency requirement: the suite weaves host and joiner concurrently via async, so both handshaking calls run in parallel and their preambles cross. Serial weaving would deadlock (each side suspends waiting for the peer's Hello).