feat(wire): memberlist wire compatibility for unencrypted UDP
- Add conditional encryption based on config.encryption_enabled
- Fix Ping message: node field now set to target (memberlist requirement)
- Add Wire submodule with memberlist-compatible msgpack types
- Update codec to use msgpck for proper msgpack encoding
- Use AES-128-GCM with 16-byte keys (memberlist compatible)
- Add interop test client for testing against Go memberlist
Verified: OCaml SWIM can send pings to Go memberlist and receive acks.
Tracked in swim-7wx (encryption format still needs work).