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.
Hm. I guess how we do this depends partly on how we want to handle config options in the future.

Several folks on the AC side would prefer to port over a lot of config options into the database, especially things that are event-specific but aren't likely to change from year to year (e.g., age groups, badge types). That was one of the motivations for just up and creating this new set of options in the database.

Although we don't yet have the infrastructure for this, these config options could then be set up during a guided installation, which is more user-friendly then diving into a massive .ini (or puppet manifest) file.

Using a database table also removes the temptation to stuff in code that's specific to one event, like how we have a lot of stuff that checks for UNDER_18. Using tables forces everyone to look at the age group's properties, and not its variable name. This both a good and a bad thing, probably. :)