(WIP) Graded library content - Do not merge, for internal review

This is a continuation of the prototype found in #2, extended to implement [SOL-19](https://openedx.atlassian.net/browse/SOL-19) "As a student, when I complete interactive exercises displayed in a LibraryContent block in the LMS, I see a single aggregated grade for the set of exercises in the progress tab."

Testing instructions: Follow same testing steps as #2, except on step 7 when adding content to the library, add problems (of any type). On step 10, be sure to set "Scored" to True. Then, after all the other steps, view the course as a student. Check that the "Progress" tab is correct, before and after submitting answers to the problems. Test the weighting and make sure none of the children appear in the progress view - only the combined score of the LibraryContent block.

**Library screenshot**:
![graded1](https://cloud.githubusercontent.com/assets/945577/4658555/d76d2f9c-54ff-11e4-8296-3682cb11663a.png)
**LMS screenshot:**
![graded2](https://cloud.githubusercontent.com/assets/945577/4658558/d99534a4-54ff-11e4-8dad-674143cae30e.png)

This feels hackier still than in https://github.com/open-craft/edx-platform/pull/1 . Would it make sense to clean this up, ie not having `get_item` removing the branch ever, and fixing the higher-level code that relies on this instead? I imagine it would likely be a lot of work, but if we can leave the place cleaner after us, it will be appreciated.