try to enhance performance for at least get_courses() query

Like @cpennington , I'm incredulous that `fill_in_run` ever does the mongo query more than once as it's supposed to cache the result into the singleton for the life of the server.  That would imply that it would get all the keys the first time the dashboard comes up and never again. Can you verify that you saw the query on the `n > 1` view invocations?

Also, when we cache `course_id` into the runtime (whose life is just the request not the server), we should ensure we call `fill_in_run` on it so that the subsequent calls to `fill_in_run` just return it and don't lookup it in the cache nor construct a new key.