Initial support for --replicas in redis-trib.
removed not used vars in dictScan().
Pass int64_t to intsetGet() instead of long long.
Cluster: initialize senderConfigEpoch and senderCurrentEpoch for warnings suppression.
HSCAN/ZSCAN: skip value when matching.

This fixes issue #1360 and #1362.
Added tests for [SHZ]SCAN with MATCH.
Use strtoul() instead of sscanf() in SCAN implementation.
SCAN: when iterating ziplists or intsets always return cursor of 0.

The previous implementation assumed that the first call always happens
with cursor set to 0, this may not be the case, and we want to return 0
anyway otherwise the (broken) client code will loop forever.
SCAN code refactored to parse cursor first.

The previous implementation of SCAN parsed the cursor in the generic
function implementing SCAN, SSCAN, HSCAN and ZSCAN.

The actual higher-level command implementation only checked for empty
keys and return ASAP in that case. The result was that inverting the
arguments of, for instance, SSCAN for example and write:

    SSCAN 0 key

Instead of

    SSCAN key 0

Resulted into no error, since 0 is a non-existing key name very likely.
Just the iterator returned no elements at all.

In order to fix this issue the code was refactored to extract the
function to parse the cursor and return the error. Every higher level
command implementation now parses the cursor and later checks if the key
exist or not.
Fixed typo in parseScanCursorOrReply(): ad -> at.

Thanks to @badboy for reporting it.
Deprecate utils/redis-copy.rb in favor of redis-copy gem
Merge pull request #1365 from yaauie/deprecate-redis-copy-script

Deprecate utils/redis-copy.rb in favor of redis-copy gem
Sentinel: always send CONFIG REWRITE when changing instance role.

This change makes Sentinel less fragile about a number of failure modes.

This commit also fixes a different bug as a side effect, SLAVEOF command
was sent multiple times without incrementing the pending commands count.
Sentinel: increment pending_commands counter in two more places.

AUTH and SCRIPT KILL were sent without incrementing the pending commands
counter. Clearly this needs some kind of wrapper doing it for the caller
in order to be less bug prone.
Sentinel: sentinelSendSlaveOf() was missing a var and the prototype.
Merge branch 'unstable' of github.com:/antirez/redis into unstable
redis-trib: fixed slot allocation when --replicas is used.
Fix broken rdbWriteRaw() return value check in rdb.c.

Thanks to @PhoneLi for reporting.
Cluster: refactoring of slots update code and more.

The commit also introduces detection of nodes publishing not updated
configuration. More work in progress to send an UPDATE packet to inform
of the config change.
Cluster: UPDATE msg data structure and sending function.