LMS-11185 Split implementation of revert_to_published

@dmitchell Please review.
As we discussed, this will no longer be an issue once `DIRECT_ONLY_CATEGORIES` is no longer used (i.e., once we support Draft versions of current direct-only categories).