insertOrderedList: implement listifying

Apart from tests of issue #39, this CL passes all listifying tests.

PTAL
If we have getListAncestor(node) function, we can

var listAncestor =getListAncestor(currentNode);
if (listAncestor) {
  for (var runner = runner; runner !== listAncestor; runner = runner.parentNode) {
    effectiveNodes.unshift(runner);
  }
 effectiveNodes.unshift(listAncestor);
}

We can define isInList(node) => Boolean(getListAncestor(node));