Fix performance regression

Remove course_from_id
don't fetch whole course when the root will do
don't fetch even the root if the id will do

@chrisndodge @dianakhuang @sarina @nasthagiri some subset of you, please review

typo?  unpace -> unpack?
Did we step through the code to make sure the test gets called for each role?