feat(api): add Quotes API with full CRUD
Implement the Quotes API following the same patterns as the Links API:
- GET /api/v1/quotes - List quotes with pagination (limit, offset)
- POST /api/v1/quotes - Create quote (quote required, author/poster optional)
- GET /api/v1/quotes/{id} - Get single quote (supports JSON and plain text)
- DELETE /api/v1/quotes/{id} - Delete quote (requires X-API-Key auth)
Features:
- Content negotiation via Accept header or .txt/.json suffix
- Localhost requests bypass authentication
- Comprehensive test coverage for all endpoints