feat(scheduling): add MINIMIZE_CLASSROOMS and BALANCE_CLASSROOMS strategies
Extended optimization strategies to include classroom-focused options.
Completes Task 1.5 enum requirements.
For ScheduleGeneratorService.java:
feat(scheduling): implement optimization strategy logic in CSP algorithm
- MINIMIZE_DAYS: Pack exams into fewest days (fills early days first)
- BALANCED_DISTRIBUTION: Spread exams evenly across all days (round-robin)
- MINIMIZE_CLASSROOMS: Reuse same classrooms (prefer most-used rooms)
- BALANCE_CLASSROOMS: Distribute across classrooms (prefer least-used rooms)
- Validate classroom capacity limits
- Check no double-booking of classrooms
- Ensure no consecutive exams for students
- Enforce max 2 exams per day per student
- Return detailed validation results with error messages