Make std.string.succ @safe and pure

`succ` only takes built-in string types.
Using `assumeUnique` and casting `r` to `S` are no longer needed because they are implicitly casted to immutable types.

Off topic: `std.exception.assumeUnique` seems to be no longer needed as a library because implicit cast can do the same things.