Fix birthdate sessions and use relational database

Age group is no longer added to two sessions. It is now calculated by
attendee age, not the age groups' birthdate ranges. The database tables
were made relational and most references to specific age groups were
removed, though that part needs some work. Fixes #586.