Handle editing of partially selected lists

This continues the work started by PR #674 on list editing. The aim of this is to add support for partially selecting a list and then only removing the list on the selected paragraphs. This will also support switching partial selections between numbered and bulleted styles.

# TODO
[x] Operations for merging and splitting lists
[ ] Refactor out duplicate position verification logic (might move this to another PR)
[ ] Update list controller to use new operations to enable editing partial list selections
[ ] Add operational transforms for new ops
[ ] Fix unsolved OT conflicts from add and remove list ops