c3b0502297
_find_muxterm_binary() now resolves in this order:
1. Explicit binary_path argument (unchanged)
2. MUXTERM_BINARY env var (new)
3. <repo_root>/muxterm/muxterm — the go build output for dev installs (new)
4. shutil.which('muxterm') — PATH fallback (unchanged)
Before this fix the service logged 'muxterm binary not found; terminal
feature disabled' on every restart because the binary is not on PATH
and no explicit path was passed from main.py.
Also fix stop_muxterm() to catch ProcessLookupError from terminate()
when the process has already exited (was only caught in the wait_for
block, not the terminate() call itself), which caused a noisy
'Application shutdown failed' traceback in the service journal.