Library Content - Filter library content by CAPA problem type

**Background**: This PR contains the LibraryContent XBlock, which allows to display library content in a course.
**JIRA ticket**: [SOL-122](https://openedx.atlassian.net/browse/SOL-122)
**Discussions**: Architecture discussed extensively on the wiki and in meetings, then the revised proposal was presented to the Arch Council on Oct. 21 and given thumbs up.
**Dependencies**: https://github.com/edx/edx-platform/pull/6155 (probably will require a rebase after 6155 merged)
**Sandbox URL**: LMS at http://content-libraries.sandbox.opencraft.com/ and Studio at http://content-libraries.sandbox.opencraft.com:18010/
**Internal code reviews PRs**: https://github.com/open-craft/edx-platform/pull/24
**Partner information**: 3rd party-hosted open edX instance, for an edX solutions client.

**Testing instructions**:
1. Create a library with a couple of Problem XBlocks of different types (e.g. "Checkboxes", "Dropdown", "Multiple Choice")
2. Add Library Content XBlock to a course.
3. Edit Library Content settings. By default "Problem Type" should be set to "Any Type", LMS view should display problems of any type.
4. Set "Problem Type" to one of the problem types in the library (e.g. "Checkboxes", "Dropdown" or "Multiple Choice""). Please note that some problem type templates fall into same problem type (e.g. "Custom Javascript/Python" and "Drag and Drop" fall into "Custom Evaluated Script"). Save, publish, navigate to LMS as a student and ensure only Problems of selected type are shown.
5. Set "Problem Type" to any problem type **not** in the library (e.g. any except "Checkboxes", "Dropdown" or "Multiple Choice""). Save, publish, note the warning message in Studio, navigate to LMS as a student and ensure no XBlocks are shown.
It looks like you may be able to get the list of capa_types via introspection. You'd need to get all the subclasses of `LoncapaResponse` and get the `tags` property from them. Mapping these to the human readable names is still a problem but we should solve it by moving the human readable names to class properties on these classes, imho, rather than spreading out the mappings throughout the code. @cahrens either T&L should do this or should pick up on it after @e-kolpakov does it for his need and T&L should remove the hardcoded strings and get the class property instead.