(WIP) LibraryContent - Display content from a library in a course (SOL-5, SOL-6)

@antoviaque 

**Background:** This PR contains the LibraryContent XBlock, which allows to display library content in a course.

**Jira tickets:** Implements SOL-5, SOL-6.

**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/6046 (merged, in feature branch https://github.com/edx/edx-platform/commits/content-libraries)

**Partner information:** 3rd party-hosted open edX instance, for an edX solutions client.

**Merge deadline:** Dec 12

 **Internal code reviews PRs**: https://github.com/open-craft/edx-platform/pull/5 https://github.com/open-craft/edx-platform/pull/3 https://github.com/open-craft/edx-platform/pull/2 
@cpennington this library content block is implemented as an XModule now, since it was initially implemented like so. I've tried converting it to a XBlock and had some difficulties, mainly due to high coupling to XModule ecosystem (`MakoModuleDescriptor`, `StudioEditableDescriptor`)

So the questions are:

* Are there any existing helpers similar to `MetadataOnlyEditingDescriptor` for XBlocks? As of now this LibraryContentModule does not use it directly, but essentially do exactly the same thing.
* If it's not, what is an expected way to handle studio edits? I believe having custom js + `studio_submit` `XBlock.handler` is a common practice, but it looks tedious to reimplement it for every single XBlock. Are there any shortcuts?