Fix Range.restrictTo to work with non-intersecting ranges(#13334)

Also adds a special case for isSubsetOf with two empty ranges.

Change-Id: I9b4c854051bd760bbac05c7a0bc2e5418371e90e