Rename function effective_diameter to diameter.
Increment buffer size for parsed lines
Make buffer size dynamically determined at runtime.

The size of buffers used to read `out_s` and `in_s` in parser.c is now
determined at runtime, based on the length of the description string
Change a couple of data types.

In function hll_cnt_rho the data type of
the mask and the bit shift register k has been changed to hll_hash_t
Add two new test cases.

Add two new test case for hll_cnt_union. These tests assert that the
union of two counters must be register-by-register greater or equals
than the original counters.
Add test for monotonicity of the size of union

Add test to assert that the size of the union of two counters is greater
or equals to the size of each individual counter
Relax precision bound in probabilistic test

With the new seed initialization, the bound on the precision of the
counter have to be relaxed. The typical error is always around 1%, but
sometimes it increases to over 10%, due to the random distribution of
inputs.
Add a failing test.

Add a test, that for the moment is failing, to check relations between
different counters
Modify hll_cnt_rho to handle corner cases.

The function hll_cnt_rho now returns the number of bits of the hash data
type minus one in case of a 0 hash. This is because returning the actual
number of bits (32 in case of 32 bit hashes), when calling hll_cnt_size
we got the wrong result. That is, when computing the denominator of the
expression to compute the sizewe had a shift of 32 positions, resulting
in a 0 denominator value.
Change the trick to handle corner cases.

Now the bug is solved in a more consistent way, by using a bigger
integer type to shift.
Update test to reflect new behaviour

The test for hll_cnt_size takes into account the changed behaviour
introduced in the previous commit