Enable exact birthdates

Adds support for collecting the exact birthdate from attendees. Fixes #586.

The database on live/staging servers will need the "birthdate" column added to the Attendees table and the AgeGroups table added before this code can be used on them.
Yeah, regardless of which approach we take, I agree that adding more flexibility is good, e.g. checking for ``specified_age_group.can_volunteer`` instead of just checking ``UNDER_18`` is a great way to go about it.  The codebase is definitely in a transitional period where we've been moving towards the ideal of things being configurable but there's a lot of frankencode that's a hodgepodge of old and new approaches.