Document std.range.transposed (issue 4330).

Add unittested example as well.
Fix issue 8764

Transposed can only work with ranges of ranges if the subranges are
assignable. Add signature constraints.

Fix forward range bugs (should use .save instead of just copying the
range object).

Add unittests.
Move docs from struct Transposed to transpose().
Merge pull request #1138 from quickfur/transposed

Fix issue 4330 and issue 8764