test: port garden_channel_test.exs to ChannelCase
Replace manually constructed Phoenix.Socket structs with real
socket connections via ChannelCase. Add rejection tests for
nonexistent garden and mismatched local_sid. Replay test now
exercises the full join → handle_info pipeline using assert_push.
SOW-73
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>