add custom indent and outdent function, to take care of lists

for elements other than lists, the default execCommand is used. 

The handling of lists and the closure relationship with other tag types mine become opinionated at some point. The implementation here is mostly fine.

Note to self: There is a bug that is when outdent from `<ol><li>text<ol><li>sfsd</li></ol></li></ol>`, it becomes `<p>text<ol><li>sfsd</li></ol></p>`. I need to think about this a bit more since for my clients, rich formatting under `<p>` and `<li>` are important.