Let Selection.collapse definition follow the current spec.

The Selection interface definition is following:
https://dvcs.w3.org/hg/editing/raw-file/tip/editing.html#selection

Selection.collpase is defined as:
collapse(Node node, unsigned long offset);

The spec says that the two arguments are not optional and |node| must be not null.
Both IE and FireFox implementations follow that spec in my short experiment.

This CL changes the Selection.collapse and setPosition behavior to throw exception when the function is called with a null node or less arguments so we need refine some tests.

BUG=346613,249598,361956

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

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