Creative commons licensing support

### Background
This pull request allows course content to be published under the Creative Commons license, with support for CC options like: BY, NC, ND, and SA. When a course is set to a certain license, the footer of each course page will hold the license information. Additionally, videos can be licensed separately as well. See [creativecommons.org/about](http://creativecommons.org/about) for more details on the CC license.

### Studio updates
Adds a feature flag to enable/disable Creative Commons licensing in general. Through the advanced course settings, you are able to disable the licensing option for a certain course.
A license selector is added to the course settings page and video edit modal. It allows the publisher to license their work under the latest Creative Commons license.
In the course outline, and underneath videos that have a license set, the license will be previewed as it would be displayed in the LMS.

### LMS updates
Adds a feature flag to enable/disable Creative Commons licensing in general. When enabled, it depicts the license underneath each course page and video element.

### Testing
When the feature flag CREATIVE_COMMONS_LICENSING is set to False in CMS and LMS, the views of the course settings editor, video edit modal, course outline page, and view pages should not be changed.
In case the feature flag is set to True, the following screens in Studio should have changed:

#### in Studio
##### Enabling CC Licensing
To enable the CC Licensing feature, make sure the CREATIVE_COMMONS_LICENSING and DEFAULT_COURSE_LICENSEABLE feature flags are set to True. In case the latter is set to False, you can also configure it per course, by navigating to the Advanced Course Settings and setting the Licensable parameter to True.
![course_advanced_settings](https://cloud.githubusercontent.com/assets/2682577/5412086/68ecf17e-8209-11e4-9e9a-b1694965ae3c.png)

##### Setting the course license to: CC
CC allows you to set the license with certain options. Attribution is set by default. Non Derivatives and Share Alike are XOR (they cannot be set at the same time).
![course_edit_cc](https://cloud.githubusercontent.com/assets/2682577/5412097/80b88aa2-8209-11e4-94ac-2f7da79245c4.png)

##### Setting the course license to: All rights reserved
![course_edit_arr](https://cloud.githubusercontent.com/assets/2682577/5412100/89d0f138-8209-11e4-95e9-322598196916.png)

##### Showing the course content license in the outline
![course_outline](https://cloud.githubusercontent.com/assets/2682577/5412106/9c8ef5c2-8209-11e4-8df7-185317204a42.png)

##### Editing the course content license in the outline
![course_outline_edit](https://cloud.githubusercontent.com/assets/2682577/5412114/ae07c2b6-8209-11e4-9093-cbfe431b455f.png)

##### Editing video license
CC allows you to set the license with certain options. Attribution is set by default. Non Derivatives and Share Alike are XOR (they cannot be set at the same time).
![video_edit](https://cloud.githubusercontent.com/assets/2682577/5412129/c3b047c8-8209-11e4-90f5-065cfda406d5.png)

##### Video license preview
![cms_video_preview](https://cloud.githubusercontent.com/assets/2682577/5412131/cf9a92e6-8209-11e4-8705-131061114a8b.png)

##### Video license preview hover
Clicking on the license will open the correct page on creativecommons.org that shows all the details on that license. Except for the All rights reserved license, this license is not clickable.
![cms_video_preview_hover](https://cloud.githubusercontent.com/assets/2682577/5412137/d8f96ede-8209-11e4-88dd-ef6f713474ba.png)

#### in LMS
The test instructions are not available yet, as this is still work in progress. I will upload those as soon as the LMS part is done. The idea is that the license will look exactly like the previewed license in the video preview. Where the course content license will be shown in the grey background area that surrounds the content.

### Discussion
**As discussed with**: @sarina, @explorerleslie, @marcotuts

**Discussion links**:
* Previous PR: #5057 
* [https://openedx.atlassian.net/browse/UX-948](JIRA UX-948)
* [https://openedx.atlassian.net/browse/OSPR-42](JIRA OSPR-42)
* [https://openedx.atlassian.net/browse/OSPR-89](JIRA OSPR-89)
Ah wait - n/m you use it at L319. How about you restructure the code from L310-320 like so, to avoid getting the course module unnecessarily: 
```python
if settings.FEATURES.get("CREATIVE_COMMONS_LICENSING", False):
    # If we enable licensing on the platform, get the course object so we can inspect its license
    try:
        course_module = modulestore().get_course(course_key)
    except ItemNotFoundError:
        logging.error("Could not find course: %s", course_key)
        return HttpResponseBadRequest()
    if course_module.licenseable:
        contentstore().set_attr(asset_key, 'license', modified_asset['license'])
```

Also, do you need to do a save after the set_attr?