Add comprehensive test suite for SWIM protocol
Test modules implemented:
- generators.ml: QCheck generators for all SWIM types (node_id, incarnation,
member_state, node_info, protocol_msg, packet, config, errors)
- test_codec.ml: Codec property tests (roundtrip, size accuracy) and unit tests
for encoder/decoder operations, error handling (19 tests)
- test_crypto.ml: Crypto property tests (roundtrip, overhead size) and unit tests
for key validation, tampering detection, nonce uniqueness (13 tests)
- test_pure.ml: Protocol_pure property tests (merge convergence, idempotence) and
unit tests for state transitions, invalidation, timeouts (32 tests)
All 65 tests passing.