arcp 2.0.0

Reference implementation of the Agent Runtime Control Protocol (ARCP) v1.1 — umbrella crate that re-exports arcp-core, arcp-client, and arcp-runtime.
Documentation
# delegation

Fan a request out to peer runtimes; tolerate partial failure. The
load-bearing pattern is `JobMux`: a single reader on `client.events()`
fans envelopes out to per-job `tokio::sync::mpsc` channels.

## Before ARCP

Parallel `for await env in client.events()` loops starve each other —
only one wins per await. Without a mux you serialize everything.

## With ARCP

```rust
let mux = JobMux::new();
mux.start(Arc::clone(&client));
for peer in PEERS {
    let job = delegate(&client, peer, request, trace_id).await;
    mux.register(job.job_id.clone()).await;
}
let completed = futures::future::join_all(jobs.iter().map(|j| collect(&mux, j))).await;
```

`trace_id` propagates so peers join one distributed trace.

## ARCP primitives

- `agent.delegate` — §14.
- `job.accepted` / `job.completed` / `job.failed` / `job.cancelled`  §10.
- `trace_id` propagation across peers — §17.
- `idempotency_key` for re-delegation safety — §6.4.

## File tour

- `main.rs` — fan-out + `JobMux` + `collect`.
- `synth.rs` — final synthesis stub.

## Variations

- Add a fastest-wins variant: cancel laggards once `min_results`
  arrive.
- Rebalance: track per-peer P50 latency from past runs to pick the
  best target order.