Add database support for badge status

Adds a new column to the Attendee database to change attendees' status.
This feature will eventually replace the ability to delete attendees.
Basic administrative status functionality

Adds some basic functionality for attendee statuses. Automatically sets
the status based on attendee payment and refund information. Allows
admins to set any badge to invalid status.
Add badge status options to development-defaults

These options are all hard-coded into the system, so they've been added
to the default configuration.
Adds support for comped badges

Explicitly includes free badges in "Completed" status adjustment.
Add_age_groups part of resetting the db

This is somewhat unrelated, but will help automate resetting the
database.
Give admins more control of badge status

Placeholder badges are now more properly categorized under "New."
Additionally, if the status is changed via the admin form, the system no
longer overrides this.

I removed uber's ability to automatically set the refunded status
because it cannot differentiate between cancelled badges and comped
badges.
Pre-set badge status for new attendees

There's no specific reason to make the admin save the attendee first and
then have to go back and change their status, so I've removed the check
for is_new.
Adjust badge status workflow

Further adjusts the workflow to fix a case where, if you saved unrelated
attendee data, the system changed the badge status for you. Now it ONLY
updates if the attendee's amount_paid gets altered.
Merge pull request #695 from magfest/add_badge_status

Add support for badge status