Issue 13689: byCodeUnit fails to be a random access range.

Fixes: https://issues.dlang.org/show_bug.cgi?id=13689

The problem is that due to `.back` being declared `const` instead of `inout`, `.front` and `.back` don't have the same constness, thereby failing the `is(typeof(R.front)==typeof(R.back)` test in `isBidirectionalRange`, which is a prerequisite of `isRandomAccessRange`.