Nuevo Courses

Courses: JSON import, a school's own domain, video embeds, Help, and fixes from a full review, hidden

Internal: Courses slices 12 and 13 (JSON import and export, a school on the team's own domain, YouTube, Vimeo, Loom and Wistia videos, the Help articles and docs) and 47 fixes from a review of the whole area, still behind CoursesPolicy::MEMBERS_ENABLED = false.

Internal: the last two build slices of Courses (docs/specs/COURSES.md), still behind CoursesPolicy::MEMBERS_ENABLED = false. Import and export: a course created from pasted JSON or a draft's outline replaced from it, with Copy the prompt, quiz questions replaced from JSON, and Export as JSON that imports back. A school's catalogue and course pages on the team's own domain, with enrolment, buying, sign-in and lessons at the Magpie address. A lesson's main video from YouTube, Vimeo, Loom or Wistia (no resume or automatic completion). Fifteen Help articles under Sell, docs/COURSES.md and the release plan in docs/plans/courses-release.md. A review of the whole area against the specification confirmed 47 findings, all now settled, among them: a supporter who starts a cohort course chooses a cohort, takes a seat and gets its dates and sessions; Reset progress lets the course be completed again; an address typed on a school's form never reveals the account's name, and its Newsletter box asks the address's owner to confirm before they are added; and phpunit.xml's memory limit is 1024M so the whole suite finishes.