Changes to isChildOf functions to accommodate nested block elements

These functions were traversing all the way up to the topmost block.  This came up when I tried to add blockquotes with paragraphs inside.  Elements in different paragraphs were being considered part of the same block (the blockquote).  This was causing problems when trying to push the cursor outside of a delete because it would jump across paragraphs.