Add basic training selection to attendee

Blocks the change of confirmed (paid) trainings.
Record the time of training selection operation
Fix broken training seats lookup in program helper
Add seat management on training selection (incomplete)
Validate available seats on training selection