Fix bug with dropdowns not being filled sometimes

Make sure that we don't try to set the dropdown selections before the
options are populated (which will cause our update to be ignored). In
order to do this, store more fields on the ClassSection object so that
we have them when we need them.