More robust computation of counts and offsets

Offset computation is more numerically stable - it is expressed through division, modulo operation and multiplication. It won't overflow for big item counts (biggest number in our case). It will overflow for big chunk counts. Basically, it requires that chunk count squared should not overflow. Changes are synchronous for create-floats.c and DNA.Channel.File.

Counts for specific chunk number are computed from offsets - chunk count = chunk offset (chunk number + 1) - chunk offset (chunk number). It is also more numerically stable.

Old version of count computation was not stable when item count was not much bigger than chunk count. There were negative counts for chunk numbers close to chunk count.

Reviewed and verified logic behind create-floats.py. It is consistent with expected program behavior.

Tested that (some) chunks written are chunks read - writes performed by ./create-floats FILE itemCount chunkCount chunkNumber are read by exactly one process.