Issue 9507: transposed() behaves poorly with jagged range of ranges

Fixes: https://issues.dlang.org/show_bug.cgi?id=9507

Basically, `transposed()` failed to check whether subranges are empty before popping them, so passing in a range of ranges with unequal subrange lengths will cause illegal calls to `front` and `popFront` without checking `empty`.