Fix range violation for cartesianProduct of empty ranges.

Completes the fix for: https://issues.dlang.org/show_bug.cgi?id=10693