add errdefer for decode allocations, verify with checkAllAllocationFailures
Add errdefer allocator.free() for array items and map entries slices in
decodeAt so partial allocations are cleaned up on error. Add 3 tests
using std.testing.checkAllAllocationFailures to exhaustively verify that
every allocation failure in decode (flat map, nested record, array) is
handled without leaking — tests use ArenaAllocator over the failing
allocator to match the intended usage pattern.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>