Addresses review feedback on the per-detector commits.
- Rename the extracted verification function to verifyMatch in all 45
detectors. The branch had introduced a per-detector name (verifyCexIO,
verifyWhoxy, ...); verifyMatch is the established convention in this
package and each detector is its own package, so there is no collision.
- gengo and gocanvas were still swallowing the body-read error: a failed
io.ReadAll fell through to `return false, nil` and recorded nothing.
That is the bug this branch exists to fix, so both now return the error.
- Move `defer res.Body.Close()` above io.ReadAll and drain the body first
in the 13 detectors where the deferred close sat after the read, which
left the body unclosed on the error return: commodities, convier,
cryptocompare, dareboost, flowflu, getemail, holistic, raven,
reallysimplesystems, simfin, tefter, teletype, uptimerobot.
- fixerio deferred res.Body.Close() twice; drop the second.
- getemail and teletype had an empty if-branch with the work in the else,
left behind when the redundant `Verified = false` assignment was
removed. Inverted to `if !cond { return true, nil }`.
Status-code interpretation is still carried over verbatim and is not
touched here.