Split/auto publish

LMS-11017 https://openedx.atlassian.net/browse/LMS-11017
The logic's a bit convoluted I agree. Let's see. It goes into destination if 
* it was in existing and still is in source, OR
* it's in source but is not in blacklist

```
   if blacklist == EXCLUDE_ALL:
       destin = [child for child in existing_children if child in source_children]
   else:
       destin = [child for child in source_children if child in existing_children or child not in blacklist]
```
? Is that right?