ocaml-json: to_string/to_writer return plain types per spec; add Json.Value.* shorthand
Per the ocaml-encodings skill, [to_string] and [to_writer] return plain
[string] / [unit], not [result]. Broken codecs (missing encoders, [todo]
entries, invalid UTF-8 in fields) raise [Json.exception-Error] — that's a
codec-definition bug, not a runtime condition to route through Result.
Drop the [to_string_exn]/[to_writer_exn] pair; the bare form is now
raising, the pair collapses.
Add [Json.Value.{of_string,of_string_exn,of_reader,of_reader_exn,to_string,
to_writer}] as shorthand: same API as the codec-taking forms but with
[Json.Codec.Value.t] baked in. Replaces [Json.to_string Json.Codec.Value.t v]
with [Json.Value.to_string v].