Take in block_counts and student_view_data as parameters
student_view_multi_device - by calling has_support("multi_device")
student_view_data (for now, just the video module has implemented this)
block_counts - compute aggregate value as block tree is traversed
Note: there is a tradeoff between storage versus computation. So for now, we compute some items in the transform phase even though they are not user-specific, as long as they don't require an instantiated xBlock.
This story is just for creating the transform. https://openedx.atlassian.net/browse/MA-1005 is for creating the actual API endpoint.