gt_ranges_union: handle consistently in_ranges size 1 case
add some (currently failing) test cases for isomerge
use source information from input