Fix false positive in memory efficiency test.

Fixes issue #1298.
Sentinel: fix type specifier for Hello msg generation.

This fixes issue #1395.
Sentinel: fixes inverted strcmp() test preventing config updates.

The result of this one-char bug was pretty serious, if the new master
had the same port of the previous master, but just a different IP
address, non-leader Sentinels would not be able to recognize the
configuration change.

This commit fixes issue #1394.

Many thanks to @shanemadden that reported the bug and helped
investigating it.
fix a bug in sentinel.c about pub/sub link
Merge pull request #1401 from huangz1990/fix_sentinel_bug

fix a bug in sentinel.c about pub/sub link
Sentinel: log vote received from other Sentinels.
Reply to PING with error when there is a MISCONF state.
Stop writes on MISCONF only if instance is a master.

From the point of view of the slave not accepting writes from the master
can only create a bigger consistency issue.
Cluster: some code about clusterHandleSlaveFailover() marginally improved.

80 cols friendly, some minor change to the code to make it simpler.
Cluster: basic data structures for nodes black list.
Cluster: nodes re-addition blacklist API.
Sentinel: better time desynchronization.

Sentinels are now desynchronized in a better way changing the time
handler frequency between 10 and 20 HZ. This way on average a
desynchronization of 25 milliesconds is produced that should be larger
enough compared to network latency, avoiding most split-brain condition
during the vote.

Now that the clocks are desynchronized, to have larger random delays when
performing operations can be easily achieved in the following way.
Take as example the function that starts the failover, that is
called with a frequency between 10 and 20 HZ and will start the
failover every time there are the conditions. By just adding as an
additional condition something like rand()%4 == 0, we can amplify the
desynchronization between Sentinel instances easily.

See issue #1419.
Sentinel: don't write HZ when flushing config.

See issue #1419.
Grammar fix in freeClient().
Removed old comments and dead code from freeClient().
BLPOP blocking code refactored to be generic & reusable.
blocked.c API commented.
WAIT command: synchronous replication for Redis.
Fix clients timeout handling.

During the refactoring of blocking operations, commit
82b672f6335ac2db32a724ba5dc10398c949a4a8, a bug was introduced where
a milliseconds time is compared to a seconds time, so all the clients
always appear to timeout if timeout is set to non-zero value.

Thanks to Jonathan Leibiusky for finding the bug and helping verifying
the cause and fix.
Fixed typos in redis.conf file.