feat: add lease-based concurrency management (phase 2)
- add in-memory lease storage module (src/concurrency/lease_storage.zig)
- thread-safe singleton with mutex protection
- lease CRUD: create, read, renew, revoke
- TTL-based expiration tracking
- extend API with lease endpoints:
- POST /increment now creates leases (mode=concurrency, default)
- POST /decrement supports lease_id for release
- POST /leases/filter - list active leases
- POST /leases/renew - extend lease TTL
- DELETE /leases/{id} - revoke lease and release slots
- add mode parameter: "concurrency" (with leases) vs "rate_limit" (no leases)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>