Replace Selection.setPosition(node) with Selection.removeAllRanges() when node is null.

There are some tests calling Selection.setPosition(node) with node = null.
Selection.setPosition(null) clears the current selection and its behavior is essentially same as Selection.removeAllRanges().
However, the Selection.setPosition method is intended to create a range forming a caret:
https://dvcs.w3.org/hg/editing/raw-file/tip/editing.html#dom-selection-collapse
Calling Selection.setPosition(null) to clear the selection is non-standard and I'm going to change Selection.idl to restrict such a usage.
Hence I insert the conditional whether node is null or not.

editing.js:
There are tests which don't contain "test" element but calls this function.
See: 
http://src.chromium.org/viewvc/blink/trunk/LayoutTests/editing/deleting/delete-cell-contents-win.html?revision=HEAD&view=markup
This editing.js update needs to change a layout test editing/deleting/delete-cell-contents-mac.html a little.
However, the test confirms the case doesn't crash and the condition which seems to cause a crash is not changed.

selection-plugin-clear-crash.html:
it's a timing issue.
The cleardocumentduringnew attribute intends to clear document.body when the
embed element is loaded and it is used for only tests. See:
https://code.google.com/p/chromium/codesearch#chromium/src/content/shell/tools/plugin/main.cpp&q=cleardocumentduringnew&type=cs&sq=package:chromium&l=247
|obj| exists on Linux but not on Windows.

This CL doesn't change test behavior except for mac as noticed above.
Selection.setPosition is an alias of Selection.collapse and this change is similar to previous one: https://src.chromium.org/viewvc/blink?view=rev&revision=171436.

BUG=361956

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

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