Refactor Packet modules to use submodules and tidy code
- Convert V3.Packet and V5.Packet inline records to proper submodules
(Connect, Connack, Publish, Puback, etc. each with type t)
- Extract pp_semi formatter to Shared module to reduce duplication
- Simplify parser many1 to use many, eliminating duplicate loop logic
- Update client.ml and tests to use new submodule syntax
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>