feat(application): add CQRS application layer
Commands:
- CreateStudent, UpdateStudent, DeleteStudent
- EnrollStudent, UnenrollStudent
Queries:
- GetStudents, GetStudentById, GetStudentsPaged
- GetSubjects, GetAvailableSubjects
- GetProfessors
- GetClassmates
DTOs:
- StudentDto, SubjectDto, ProfessorDto, EnrollmentDtos
Validation:
- FluentValidation with ValidationBehavior pipeline
- EnrollStudentValidator for input validation
Uses MediatR for command/query dispatching
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>