Different modulestores create different usage_keys
for the root course block. This commit introduces
a new method on the modulestore so each store type
can implement its own.
This is required by the new Course Blocks API since
it wants to derive a usage key from a client-supplied
course key.