fix: serialize cwd-mutating tests on ENV_TEST_LOCK
The discovery tests in skills.rs, commands.rs and subagents.rs, plus the subagent end-to-end test in tools.rs, all change the process-wide current directory. cargo runs tests in parallel, so one test could move the cwd while another was mid-discovery. That is what broke CI on macOS x86_64: subagents::discover_and_resolve_roundtrip found 0 agent types because format_agent_types_list_reports_none_found had switched the process to its own empty temp dir at that moment. ENV_TEST_LOCK already serializes the env-var mutating tests, and the cwd is the same kind of process-global state (discovery reads SIGIT_CONFIG_DIR too), so the six cwd-mutating tests now take the same lock. The async test in tools.rs holds the guard across an await on purpose; each tokio::test runs its own single-threaded runtime, so nothing on that executor can contend for it.