Cluster: clusterProcessPacket() was not 80 cols friendly.

The function actually needs to be split into sub-functions at some
point in the future.
anetTcpGenericConnect() code improved + 1 bug fix.

Now the socket is closed if anetNonBlock() fails, and in general the
code structure makes it harder to introduce this kind of bugs in the
future.

Reference: pull request #1059.
Remove useless goto from anetTcpGenericConnect().
anetTcpGenericConnect() bug introduced in 9d19977 fixed.

Durign a refactoring I mispelled _port for port.
This is one of the reasons I never used _varname myself.
anetPeerToString / SockName: port can be NULL on errors too.
Log disconnection with slave only when ip:port is available.
Clarify a comment in slaveTryPartialResynchronization().
Don't send REPLCONF ACK to old masters.

Masters not understanding REPLCONF ACK will reply with errors to our
requests causing a number of possible issues.

This commit detects a global replication offest set to -1 at the end of
the replication, and marks the client representing the master with the
REDIS_PRE_PSYNC flag.

Note that this flag was called REDIS_PRE_PSYNC_SLAVE but now it is just
REDIS_PRE_PSYNC as it is used for both slaves and masters starting with
this commit.

This commit fixes issue #1488.
Test: stress events flags to/from string conversion.
Fix keyspace events flags-to-string conversion.

Fixes issue #1491 on Github.
Fix RESTORE ttl handling in 32 bit archs.

long was used instead of long long in order to handle a 64 bit
resolution millisecond timestamp.

This fixes issue #1483.
Test: regression for issues #1483.
Trip comment to 80 cols in SentinelCommand().
Add all the configurable fields to addReplySentinelRedisInstance().

Note: the auth password with the master is voluntarily not exposed.
Sentinel: added SENTINEL MASTER <name> command.

With SENTINEL MASTERS it was already possible to list all the configured
masters, but not a specific one.
anetResolveIP() added to anet.c.

The new function is used when we want to normalize an IP address without
performing a DNS lookup if the string to resolve is not a valid IP.

This is useful every time only IPs are valid inputs or when we want to
skip DNS resolution that is slow during runtime operations if we are
required to block.
Sentinel: SENTINEL MONITOR command implemented.

It allows to add new masters to monitor at runtime.
anetResolveIP() prototype added to anet.h.
Sentinel: flush config on disk when new master is added.
Sentinel: releaseSentinelRedisInstance() top comment fixed.

The claim about unlinking the instance from the connected hash tables
was the opposite of the reality. Also the current actual behavior is
safer in most cases, so it is better to manually unlink when needed.