FrameSelection::setSelection should validate a given VisibleSelection.
    
When executing editing commands, endingSelection is valid.
However, if undo some commands, endingSelection might be invalid and
FrameSelection might be updated by the invalid selection.
i.e. the selection might be owned by another document without any frames.
    
BUG=368978
TEST=Source/core/editing/FrameSelectionTest

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

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