[CLIENT] Unknown node version should be a lower bound

Today when we start a `TransportClient` we use the given transport
addresses and create a `DiscoveryNode` from it without knowing the
actual nodes version. We just use the `Version.CURRENT` which is an
upper bound. Yet, the other node might be a version less than the
currently running and serialisation of the nodes info might break. We
should rather use a lower bound here which is the version of the first
release with the same major version as `Version.CURRENT` since this is
what we officially support.

This commit moves to use the minimum major version or an RC / Snapshot
if the current version is a snapshot.

Closes #6894
Let me try and explain you what I meant with my previous comment: we have `listedNodes` that contains the nodes added through `addTransportAdress`. After the sample phase we add the reachable ones to the connected nodes, or to the filtered nodes if they belong to a different cluster. In this test the transport client doesn't have the proper cluster name compared to the node you start, which is why the node ends up within the filtered ones. No huge deal, but it feels like we are also testing nodes filtering in this test, cause we rely on it.