BrokenResourceError needs handling
When a peer disconnects unexpectedly, it results in `anyio.BrokenResourceError` being raised. <details><summary>Example Traceback</summary> ``` Traceback (most recent call last): File "/usr/local/lib/python3.10/runpy.py", line 196, in _run_module_as_main return _run_code(code, main_globals, None, File "/usr/local/lib/python3.10/runpy.py", line 86, in _run_code exec(code, run_globals) File "/usr/local/lib/python3.10/site-packages/dkim_filter.py", line 45, in <module> main() File "/usr/local/lib/python3.10/site-packages/dkim_filter.py", line 41, in main asyncio.run(serve_filter()) File "/usr/local/lib/python3.10/asyncio/runners.py", line 44, in run return loop.run_until_complete(main) File "/usr/local/lib/python3.10/asyncio/base_events.py", line 649, in run_until_complete return future.result() File "/usr/local/lib/python3.10/site-packages/dkim_filter.py", line 36, in serve_filter await listener.serve(dkim_filter) File "/usr/local/lib/python3.10/site-packages/anyio/streams/stapled.py", line 124, in serve async with create_task_group() as tg: File "/usr/local/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 662, in __ aexit__ raise exceptions[0] File "/usr/local/lib/python3.10/site-packages/anyio/abc/_sockets.py", line 160, in serve async with context_manager: File "/usr/local/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 662, in __ aexit__ raise exceptions[0] File "/usr/local/lib/python3.10/site-packages/kilter/service/runner.py", line 99, in __call __ buff[:] = await client.receive(buff.available) File "/usr/local/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 1274, in r eceive raise self._protocol.exception anyio.BrokenResourceError ``` </details> This exception needs handling in [runner.py:100](https://code.kodo.org.uk/kilter/kilter.service/-/blob/main/kilter/service/runner.py#L98-100)
issue