Reduce datastore requests to prepare /director/attendance

Results in a 2x improvement bringing page generation time down from 8s to 4s

Based on data from the app-stats plugin part of the reason /director/attendance was so slow was the huge number of "datastore_v3.RunQuery" calls to look up the list of absences for each user. If we instead follow the advice of an old, wise TODO we can get all abscense in a single batch query and then sort them out by user.