OF-2179: Accommodate MUC occupants re-joining on another cluster node
Occupants of a MUC room have, in a clustered setup' one cluster node where they are considered 'local' to. It has been observed that for some occupants, notably those that are joined through server-to-server / federation, can change over time.
This commit:
- generates a warning when it detects that a occupant has unexpectedly switched from node (detection is based on the cluster member that performs a presence stanza update on behalf of the occupant).
- re-homes an occupant that appears to 'rejoin' (without having left the room), but does so from a different cluster node.
OF-2177: CacheableOptional should have a toString implemenation
When CacheableOptional has a toString, the cache summary pages on the admin console would show more useful data than object references.