Teacher check in improvements

This adds class flags and detail about the class to teacher check-in.  It's hidden by default so it doesn't take up much space.  I refactored the backend part of the view a bit to make this easier, and maybe a bit faster.

This is built on #1234 (so it's really just the last 4 non-merge commits Github shows, see diff [here](https://github.com/learning-unlimited/ESP-Website/compare/class-flags...teacher-check-in)) and resolves #489, the rest of #499, and #1240.
Why did you decide to change the method signature to only returned the data on arrived teachers? As a result, you are doing these computations to find the phone numbers of arrived teachers, but not doing that computation for missing teachers, and no phone numbers appear for missing teachers, which is kind of important.