We can simplify the checks given that there's fewer node types now. This does
make the error messages from Range a little worse, but it's weird that Range
is doing its own error checking anyway.
I also took this as an opportunity to add a bunch of DOM tests.
R=ojan@chromium.org
Review URL: https://codereview.chromium.org/732203004