*: generate clusterid

Generate clusterID based on hash(sorted(MemberIDs), discoveryURL)
then we also need to invalidate previous id. as we have more fields, we need to invalidate even more. creating a brand new one seems reasonable.