- Formatting: add field/hydrate/discord_struct to locals_without_parens
in .formatter.exs so the no-paren data-DSL style is the formatted form;
mix format then wrapped the long codec encode_value/2 clause. Both
previously-unformatted files now satisfy mix format --check-formatted.
- Empty-struct guard: __before_compile__ now raises ArgumentError when a
module does 'use Dexcord.Struct' with no field/hydrate declarations,
instead of silently generating a bare defstruct []. Added a compile-time
test mirroring the existing Code.compile_string validation tests.