test: convert convey-bind tests to mocked unit tests
Old tests launched a real convey server subprocess (cold imports +
flask startup), then waited up to 10s probing a LAN socket to verify
unreachability. ~14s combined on a quiet box, sitting right against
the 15s global pytest timeout — one busy-box run from flaking.
The actual logic under test is _resolve_bind_host(), which reads
get_config().convey.allow_network_access and maps to "127.0.0.1" or
"0.0.0.0". Werkzeug's bind behavior is not solstone code; trust it.
Replaces 2 integration tests with 5 unit tests that mock get_config()
and cover the three real branches (allow True / allow False /
default) plus the defensive exception fallback (config-read errors
must NOT silently switch to "0.0.0.0"). 5 tests in 0.09s.