Make Selection.extend node argument follow spec

This CL *partly* changes Selection.extend to more closely follow the spec.

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

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

The spec says that the two arguments are not optional and |node| must be not null.

This CL changes the Selection.extend behavior to throw exception when the function is called with a null node or less arguments.

However, we leave the second argument |offset| as optional with default value 0.

This cl is a similar to the following Selection.collapse change:
https://src.chromium.org/viewvc/blink?revision=172106&view=revision

BUG=384966
TEST=fast/text/selection-exceptions.html

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

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