add support for /markdown endpoint

notably, this also updates client.Do() to handle non-JSON response
bodies by passing an io.Writer as the final argument, v.