Mark PFCOUNT as read-only, even if not true.

PFCOUNT is technically speaking a write command, since the cached value
of the HLL is exposed in the data structure (design error, mea culpa), and
can be modified by PFCOUNT.

However if we flag PFCOUNT as "w", read only slaves can't execute the
command, which is a problem since there are environments where slaves
are used to scale PFCOUNT reads.

Nor it is possible to just prevent PFCOUNT to modify the data structure
in slaves, since without the cache we lose too much efficiency.

So while this commit allows slaves to create a temporary inconsistency
(the strings representing the HLLs in the master and slave can be
different in certain moments) it is actually harmless.

In the long run this should be probably fixed by turning the HLL into a
more opaque representation, for example by storing the cached value in
the part of the string which is not exposed (this should be possible
with SDS strings).
Over 80 chars comment trimmed in pfcountCommand().
Remove manual long double string cleanup

Changes %f to %g so we can remove the zero removal code since 'g'
does it for us:
"Trailing zeros are removed from the fractional part of the result;
a decimal point appears only if it is followed by at least one digit."
Add createStringObjectFromDouble

All this just to change the format specifier to 'g' from 'Lg'.
Fix ZSCAN return value for very double values

We can't print doubles using "Lf" (128-bit float specifier)
which is how this was working before.

We were casting a (double *) to a (long double *) and
I have no idea why except that it would quiet a (valid!) compiler
warning.  :)

Fixes #2175