ENG-5486 rework with @Explain support and shortcuts.
Merge remote-tracking branch 'origin/notest-null-coverage' into ENG-5486-paul
ENG-5486 Cleanup and borrowings from Xin's indexscan skipnull work.
Fix the conflicts when merging with Paul