Add collection and data length checks during serialization (JAVA-363)

Patch contributed by @snazy.
Surface number of retries in metrics (JAVA-329).
Fix handling of null results from AddressTranslater.

The javadoc states that returning null should be the same as returning
the same address, until now it was ignoring the node.
Do not use a host when no rpc_address found for it (JAVA-428).