Rebase of #3190 to make it work with 2.10.x

- update `pointOrEnd` to work with both `Range`- and `OffsetPosition`s
  - update checkfiles for unrelated position differences between master and 2.10.x

We'll have to update the checkfiles when we merge to master. We can
also switch back to using `point`.

Review by @sschaefer