If someone uses the setAttr method, the value is stored in HTML encoded format, whereas cheerio.load doesn't HTML encode attribute values (that in itself is a bit of an inconsistency, but I didn't want to touch that since that's a spec change that might affect a bunch of people).

If we just encode the values (i.e. `encode(value)`) and an attribute value has encoded HTML in it, it'll double-encode the values (e.g. `&amp;amp;`).