Simplify declaration of `ResponseType` (#4926)
Currently, this is looking for a `json` property on `IHttpOpts`. There is no
such property, so that part of the declaration is completely redundant, and we
may as well remove it.
I looked into making it check `IRequestOpts`, which *does* have a `json`
property, but couldn't make it work.
Also add some docs, while we're there.