Add a tool that allows agents to programmatically trigger context
compaction without requiring user intervention via `/compact`.
Currently agents have no way to proactively manage their context window
before memory-intensive tasks, and automatic compaction doesn't allow
custom instructions for what to preserve in the summary.
- Add `session_compact` tool with optional `instructions` and `sessionKey` params
- Support cross-session compaction with A2A policy enforcement
- Disable `bashElevated` during compaction for safety
- Add 7 unit tests covering success, failure, and policy scenarios