Remove node key from document marker set in Node::willBeDeletedFromDocument() instead of Document::nodeWillBeRemoved()

The root cause of issue 324530 is we forget to remove node from document marker set for descendant node in DocumentMarkerController::nodeWillBeRemoved(). Although, we need to keep node removed from document in document marker set to keep marker when re-inserting to document, e.g. moving marked node in editing command. I realized this behavior by failure of editing/inserting/insert-div-018.html and editing/spelling/spellcheck-async-mutation.html.

This patch changes removal timing of node from document marker set to node destruction time, in Node::willBeDeletedFromDocument(), rather than node removed from document, Document::nodeWillBeRemoved(), to make sure document marker set not to contain destructed node.

BUG=324530
TEST=Source/core/dom/DocumentMarkerControllerTest.cpp

Review URL: https://codereview.chromium.org/98273002

git-svn-id: svn://svn.chromium.org/blink/trunk@162975 bbb929c8-8fbe-4397-9dbb-9b2b20218538