Cluster: new command flag forcing implicit ASKING.

Also using this new flag the RESTORE-ASKING command was implemented that
will be used by MIGRATE.
Use RESTORE-ASKING for MIGRATE when in cluster mode.
Cluster: always use cluster(Add|Del)Slot to modify the cluster slots table.
Cluster: clusterAddSlot() was not doing what stated in the comment.
redis-trib: some refactoring and skeleton of the "fix" command.
redis-trib: move instance vars in the right class.
Aesthetic change to make a line more 80-cols friendly.
Call clusterUpdateState() after CLUSTER SETSLOT too.
Cluster: more correct update of slots state when PONG is received.
redis-trib: fixed typo in method name.
redis-trib: ability to fix uncovered slots for the trivial case.
redis-trib: specify single node address when fixing coverage.
Cluster: empty the internal sorted set mapping keys to slots on FLUSHDB/ALL.
Cluster: fix case of slotToKey...() functions.
redis-trib: handle slot coverage fix in the "no nodes with keys" case.
redis-trib: skeleton of coverage fix for "keys in multiple nodes" case.
redis-trib: check that all the nodes agree about the slots configuration.
Cluster: introduced a failure reports system.

A §Redis Cluster node used to mark a node as failing when itself
detected a failure for that node, and a single acknowledge was received
about the possible failure state.

The new API will be used in order to possible to require that N other
nodes have a PFAIL or FAIL state for a given node for a node to set it
as failing.
Cluster: remove warning adding clusterNodeSetSlotBit() prototype.
Cluster: new state information, cluster size.

The definition of cluster size is: the number of known nodes in the
cluster that are masters and serving at least an hash slot.