Add clean layout DCHECK to mostForwardCaretPosition()

This patch adds clean layout |DCHECK()| to |mostForwardCaretPosition()|, and
fixes call sites calling it with dirty layout tree, to make sure we don't call
it with dirty layout tree.

We could not have this |DCHECK()| since we call |mostForwardCaretPosition()|
during node removal, but patch[1] made not to do so.

This patch is similar to patch[2], which is for |mostBackwardCaretPosition()|.

[1] http://crrev.com/2680943004 Make FrameSelection to hold non-canonicalized positions
[2] http://crrev.com/2705113003 Add clean layout DCHECK to mostBackwardCaretPosition()

BUG=694413
TEST=n/a; no behavior changes

Review-Url: https://codereview.chromium.org/2706163002
Cr-Commit-Position: refs/heads/master@{#451874}
3 files changed