Sentinel: resolve master_host to IP address

If we don't resolve hosts to IP addresses, Sentniel compares
a slave's masterhost (potentially a hostname) against the
master's slave list (only IPs).

This commit resolves hostnames provided by replicas so
we can string compare IP->IP instead of Hostname->IP.

During any failures, Sentinel will use IP addresses to
re-parent replicas or rewrite the main config, so the
hostnames are for convenience only and never get persisted
in the Sentinel config.

If the resolve fails, we emit a "-noresolve" event and
set the local IP field equal to the non-existing hostname
anyway.  (Note: since the Redis server is _already_ connected
to that hostname, it is *very* unlikely that Sentniel can't also
resolve the same hostname because Redis already had to resolve
it when it ran `SLAVEOF hostname port`.)

Fixes #2075
Fixes #2032