oauth: let open Json.Codec in cleanup
42 Json.Codec. prefixes removed. The userinfo record has a `name`
field that clashes with Json.Codec.mem_map.name, so:
- Hoisted accessors `uid`, `login`, `email_verified`, `name`,
`avatar_url` after the userinfo type. `name` carries `(u : userinfo)`
annotation; the others are unique field names so no annotation
needed.
- Each `*_userinfo_jsont` constructor return-types as `: userinfo`
so the inline record literal disambiguates from `mem_map`.
- One stray `decode Value.t` (after the global Json.Codec strip)
restored to `Json.Codec.Value.t` -- it's outside any open scope.