reverse() on strings with offset is broken.

Pike v8.0 release 1738 running Hilfe v3.5 (Incremental Pike Frontend)
> reverse("foobar", 2, 4);
(1) Result: "fof\0\0r"

The expected result is "foabor".

The bug seems to have been introduced in commit 2b888e46 (when the feature was added).