worker/peergrouper: don't call SetAPIHostPorts unless changed

We're spamming the transaction log with SetAPIHostPorts transactions even
when the addresses have not changed. This change stops that from happening.

Drive-by improvement to apiaddressupdater doc comments, which
were wrong and unhelpful.

Fixes https://bugs.launchpad.net/bugs/1345832