feature/VSN-2860 - add email validation and rate limiting to prevent account suspensions
- Add strict email format validation regex to prevent invalid email bounces
- Implement rate limiting: max 5 email change requests per user per hour
- Add countRecentRequestsForUser() method to EmailChangeRequestRepository
- Add database index on user_uuid and created_at for performance
- Prevent Titan account suspension from email bounce limits
Fixes account suspensions caused by invalid email entries during email change requests.
Closes VSN-2860