[ZD-21561] Do not make idempotent updates

addProperty() results in a costly save operation, so don't do that unless we think the value has changed.
This is significant because this code gets called every time the user logs in, including every time the HTTP basic auth happens.