Fix birthdate check

Moves up the birthdate check to ensure that a default/invalid birthdate
is caught BEFORE it's used.
Check for future birthdates

The system can't find an age_group for future birthdates, so it fails
rather unpleasantly. This adds a check to prevent an invalid date from
getting that far.
Merge pull request #631 from magfest/prereg-bootstrap

Fix datepicker
Fixes birthdate errors

Fixes some errors based on birthdate formatting, adds an age_group_desc
property to attendees for use in validation messages, and changes the
label for birthdate fields.
Fix postal code checks to include 5-4 values

There's no reason for us not to accept both 5-digit and 9-digit
zipcodes, so ubersystem now allows both.
Compress zipcode validation

Improves readability for the zipcode regexp-based validation.
Fix data type of birthdate

Changes the birthdate so it's ALWAYS a Date object, and compares it to
another Date object instead of a Datetime object.
Fix date vs datetime calculations

The last commit broke some stuff in models.py, this fixes it. Makes the
code more readable, too.
Merge branch 'ac-staging' into validation_fixes
Merge branch 'ac-staging' into validation_fixes

_fixes"

This reverts commit fa8dc1bf46c0184d4e2000407554c30e17052426, reversing
changes made to e048c4843fe41291785a00a84d8e869fdcc8dca9.
Change date format back to ISO format

Birthdates now work on ISO format (Y-m-d).
Merge pull request #632 from magfest/validation_fixes

Validation Fixes