add tests for drag and drop unit into collapsed subsection on course outline page
update/cleanup code + move verify_ordering and drag method to studio utils
Implemented Validation for Course Advanced Setting

This commit adds validation for course advanced settings. Currently when course
administrators make invalid changes in the Settings/Advanced Settings tab,
they're not notified through a new modal window of the list of invalid settings
changes.

* Extending CourseMetadata
    - Previously, we only had update_from_json method in CourseMetadata.py,
      and it was only validating one field every POST request.
    - Now we have validate_and_update_from_json method that encapsulates the
      functionality of update_from_json into a validation call
    - To avoid discrepancy of validation standards between modules, validation
      uses the from_json method implemented to each field in xblock.

* Different Response in advanced settings ajax requests
    - After receiving a POST ajax request, course.py calls
      validate_and_update_from_json, and sends a json object of either:
        1) valid course metadata model
        2) error objects

* Error Messages shown in validation-error-modal
    - error objects passed through ajax are shown in a separate modal.
Fixup of Bug/djpyfs
Merge pull request #4454 from Stanford-Online/sjang92/advanced_settings_feedback

Sjang92/advanced settings feedback
Merge pull request #4941 from edx/zub/story/tnl56-dragdropintocollapsedunittests

add tests for drag and drop unit into collapsed subsection on course out...
Modified request method for change enrollment and bulk beta modify access on instructor dashboard.
LMS-11266
Merge pull request #4932 from edx/waheed/lms11266-modify-request-type-for-change-enroll-and-bulk-beta

Modified request method for change enrollment and bulk beta modify access on instructor dashboard.
Merge pull request #4981 from edx/bug/djpyfs

Fixup of Bug/djpyfs
Replace reference to Google OpenSans with edX-hosted OpenSans