clean up NestedTree: consistently use _sanitize_position

around outmost (Tree API methods) returns to ensure we
never pass on position paths that don't point to actual content..

added inline docs
make _last_decendant_position public
nested: respect covered parts if requested
nested: cleanup