Make Range methods to work with detached node

This patch makes Range methods, setEndAfter, setEndBefore, setStartAfter, setStartBefore, selectNode and surroundContents, to work with detached node as the spec, http://dom.spec.whatwg.org)

BUG=275848
TEST=LayoutTests/fast/dom/Range/range-on-detached-node.html, LayoutTests/fast/dom/Range/surroundContents-for-detached-node.html
R=mkwst@chromium.org, tkent@chromium.org

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

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