Fix pool_relay.port signed-16-bit overflow (#2135)
The pool_relay encoder serialized the unsigned Word16 port as a signed int2, so relay ports above 32767 wrapped to negative values (port - 65536). The pool_relay.port SQL column is int4, so the wrapped value was stored verbatim. - Encode the port as int4 to match the column and preserve the full 0-65535 range. - Add migration-2-0049 to repair already-stored rows by adding 65536 to every negative port (no-op on a clean or freshly synced database). - Add a cardano-db IO regression test that inserts a relay with port 41950 and asserts it round-trips (fails with the old int2 encoder, reading back -23586). - Give the chain-gen test relay a port > 32767 so the end-to-end pool path also exercises the full range.