do-over 0.1.0

Async resilience policies for Rust inspired by Polly
Documentation

# Polly → do-over Migration Guide

| Polly (C#) | do-over (Rust) |
|-----------|---------------|
| RetryAsync | RetryPolicy |
| CircuitBreakerAsync | CircuitBreaker |
| TimeoutAsync | TimeoutPolicy |
| BulkheadAsync | Bulkhead |
| Policy.WrapAsync | Wrap |
| Exceptions | Result<T, E> |

## Key Differences

- Errors are explicit, typed, and composable
- No hidden retries or background work
- Async execution is enforced at compile time

### Example

C#:
```
Policy.Handle<HttpRequestException>()
      .RetryAsync(3)
      .ExecuteAsync(() => client.GetAsync(url));
```

Rust:
```
retry.execute(|| async {
    client.get(url).send().await
}).await
```