only publish new descriptor if onion key has changed
We call set_onion_key() whenever we call init_keys(). set_onion_key() calls mark_my_descriptor_dirty() which triggers a new descriptor publish.
The problem is that we call init_keys() in some cases where our new descriptor won't be any different (for example, when our SafeLogging config option has changed).
The fix is to only republish a descriptor when the onion key actually changes.