added ticket dashboard backend: data models, CRUD, AI diagnosis service, and 9 controller endpoints
Week 1 of ticket dashboard MVP — backend only:
- 4 new SQLite tables: Ticket, TicketComment, TicketAiDiagnosis, TicketTimelineEvent
- CRUD methods in Database/ partial classes with cascade delete
- TicketDiagnosticService for async Mistral AI diagnosis (fire-and-forget)
- 9 admin-only Controller endpoints for ticket CRUD, comments, and detail view
- Ticket cleanup integrated into Delete(Installation) cascade