added new shirt_eligible property to fix volunteer checklist

I fixed a different bug and then created a new one while I was at it!  Whee!

There are now two different properties, ``gets_shirt`` (which is a boolean indicating whether someone should be handed a shirt at the merch booth) and ``shirt_eligible`` (which also returns True if the person is just a volunteer since that means they an theoretically get a shirt later).
We now use the new ``shirt_eligible`` property here.

The bug was that since they hadn't signed up for hours yet, Volunteers would never be allowed to complete the shirt step on the volunteer checklist.