std.array.join optimisation

OK, I see that it's only called if it's a forward range... but to prevent future bugs, please add a signature constraint to this function so that it will refuse to compile if `RoR` is not a forward range.