Fix range violation for cartesianProduct of empty ranges.

Completes the fix for: https://issues.dlang.org/show_bug.cgi?id=10693
.init value of cartesianProduct should be empty.
Merge pull request #2328 from quickfur/issue10693

Fix range violation for cartesianProduct of empty ranges.