Allow volunteer registrations to be removed.

Addresses #1230.  A hidden form field has been added to mark whether the
user has volunteer shifts.  If they do, then they will be shown a
Javascript confirmation box when they try to submit a form without any
shifts.  If they confirm that they do indeed want to remove all of their
shifts, it will now allow them to do so.

For everyone else, submitting an empty form still raises a validation
error.  (All of the fields are now non-required but there is more logic in
the clean() method to compensate.)