Cleanup and bugfix.

The problem was related storing multiplicities as integers.  Cumulants require the calculation of
(approximately) M^k, which for M ~ 10^3 and k = 2, 4, 6, ... can easily overflow integere data types.  Even
an unsigned long long is not always sufficient.  So, multiplicities are now stored as doubles.  It doesn't
matter anyway, because the numbers will be cast to floats when calculating the actual cumulants.
Add some docstrings and comments.
Update readme.