Release v0.6.0

- Interactive REPL — `ait` with no args launches an interactive shell (`src/repl.rs`)
- Streaming AI responses with "thought" UX: tokens stream in dim/grey text, then collapse and show the clean parsed result
- SSE streaming from Anthropic Messages API (`stream: true`, `content_block_delta` event parsing)
- `rustyline` integration for readline (arrow keys, in-memory history, Home/End, Ctrl+A/E)
- `tokio` async runtime — `main()` is now `#[tokio::main] async fn main()`
- Dual mode: REPL when no args, one-shot when args provided
- `AiContext` struct (`src/provider/ai_context.rs`) bundles provider + system prompt setup
- Shell commands now run via `$SHELL -i -c` with proper process group management (`libc`), so user aliases and functions work in the REPL

- `AnthropicProvider` is now a concrete async struct (dropped `Provider` trait — deferred to v1.5)
- `reqwest` switched from blocking to async with `stream` feature (dropped `blocking` feature)
- One-shot AI prompts now use streaming + thought UX (same as REPL)
- `AnthropicProvider::complete()` and `stream()` refactored to share `send_request()` helper
- `handle_command()` moved from `main.rs` to `execution/runner.rs` — single source of truth
- `handle_ai_prompt()` moved into `AiContext::handle_prompt()` method
- Config subcommand dispatch moved into `config/commands.rs::run()`
- Command execution uses `$SHELL` instead of hardcoded `sh` (falls back to `sh` if unset)

- `Provider` trait (`provider/mod.rs`) — only one provider exists; trait returns in v1.5 Phase 1