additional courseware view optimizations. Do a 'depth' fetch on the selected section so that it does a more efficient set of queries to the database. Also, in the CachingDescriptorSystem, if we have a 'cache miss', when we do the actual fetch (which creates a new 'system'), keep that fetched data around in our own collection, in case it is queried again
additional courseware view optimizations. Do a 'depth' fetch on the selected section so that it does a more efficient set of queries to the database. Also, in the CachingDescriptorSystem, if we have a 'cache miss', when we do the actual fetch (which creates a new 'system'), keep that fetched data around in our own collection, in case it is queried again

bmedx/modulestore,bmedx/modulestore,bmedx/modulestore