Cluster: better logging for clusterUpdateSlotsConfigWith().
Cluster: clusterHandleConfigEpochCollision() fixed.

New config epochs must always be obtained incrementing the currentEpoch,
that is itself guaranteed to be >= the max configEpoch currently known
to the node.
Cluster: handshake "already known" error logged to VERBOSE.

This is not really an error but something that always happens for
example when creating a new cluster, or if the sysadmin rejoins manually
a node that is already known.

Since useless logs don't help, moved to VERBOSE level.
Cluster: save/restore vars that must persist after recovery.

This fixes issue #1479.
Cluster: last_vote_epoch -> lastVoteEpoch.

Use cammel case for epochs that are persisted on disk.
HyperLogLog: initial sketch of registers access.
HLLSELFTEST command implemented.

To test the bitfield array of counters set/get macros from the Redis Tcl
suite is hard, so a specialized command that is able to test the
internals was developed.
HLL_(SET|GET)_REGISTER types fixed.
Use REDIS_HLL_REGISTER_MAX when possible.
HLL_SET_REGISTER fixed.

There was an error in the first version of the macro.
Now the HLLSELFTEST test reports success.
HyperLogLog: redefine constants using "P".
hllAdd() low level HyperLogLog "add" implemented.
HLLADD implemented.
HLLCOUNT implemented.
HyperLogLog algorithm fixed in two ways.

There was an error in the computation of 2^register, and the sequence of
zeroes computed after the hashing did not included the "1".
hll-err.rb added to test error rate of Redis HyperLogLog.
hll-err.rb: speedup using pipelining.
HyperLogLog: use precomputed table for 2^(-M[i]).
Use processor base types in HLL_(GET|SET)_REGISTER.

This speedups the macros by a noticeable factor.
HLLCOUNT 3x faster taking fast path for default params.