Fixed error message generation in PFDEBUG GETREG.

Bulk length for registers was emitted too early, so if there was a bug
the reply looked like a long array with just one element, blocking the
client as result.
hllSparseAdd() opcode seek stop condition fixed.
More robust HLL_SPARSE macros protecting 'p' with parens.

Now the macros will work with arguments such as "ptr+1".
Merge adjacent VAL opcodes in hllSparseAdd().

As more values are added splitting ZERO or XZERO opcodes, try to merge
adjacent VAL opcodes if they have the same value.
Comment typo in hllSparseAdd(). first -> fits.
hllSparseAdd(): faster code removing conditional.

Bottleneck found profiling. Big run time improvement found when testing
after the change.
Detect corrupted sparse HLLs in hllSparseSum().
hllSparseAdd(): speed optimization.

Mostly by reordering opcodes check conditional by frequency of opcodes
in larger sparse-encoded HLLs.
Added assertion in hllSparseAdd() when promotion to dense occurs.

If we converted to dense, a register must be updated in the dense
representation.
Correctly replicate PFDEBUG GETREG.

Even if it is a debugging command, make sure that when it forces a
change in encoding, the command is propagated.
Mark PFDEBUG as write command in the commands table.

It is safer since it is able to have side effects.
PFMERGE fixed to work with sparse encoding.
Error message for invalid HLL objects unified.
Set HLL_SPARSE_MAX to 3000.

After running a few benchmarks, 3000 looks like a reasonable value to
keep HLLs with a few thousand elements small while the CPU cost is
still not huge.

This covers all the cases where the dense representation would use N
orders of magnitude more space, like in the case of many HLLs with
carinality of a few tens or hundreds.

It is not impossible that in the future this gets user configurable,
however it is easy to pick an unreasoable value just looking at savings
in the space dimension without checking what happens in the time
dimension.