When volunteers add an absence, it removes them from their existing shifts. But,
it doesn't stop them from picking up new shifts during that absent period.
Now, when a volunteer tries to do this, they will be stopped and shown an error.
If they try to pick up a recurring shift that starts before and continues after
their absence, they will be added to the occurrences, but removed from the dates
when they are absent.
Notably this does not stop an admin from adding a volunteer to a shift when they
are absent. I did this because I wanted the admin to have the ultimate say over
who is on the shift. For example if the volunteer decided to cancel their
absence and do the shift anyway, it may be too late for them to pick up the past
shift. The admin can add them in case they need to add logs. This is admittedly
unlikely, but I wanted admins to have that flexibility.