Reruns/cms server side LMS-11016

This PR is an updated version of this old one: https://github.com/edx/edx-platform/pull/4573
Also, this subtask in the UI story validates the user input: https://openedx.atlassian.net/browse/LMS-11155