added support for generating variable document sizes

document sizes are defined as size ranges with uniform distribution
then each range will be chosen with the specified integer probability

For example:

        "DocSizeDistribution": [
          {
            "Prob": 20,
            "MinSize": 32,
            "MaxSize": 127
          },
          {
            "Prob": 70,
            "MinSize": 128,
            "MaxSize": 1023
          },
          {
            "Prob": 10,
            "MinSize": 1024,
            "MaxSize": 65536
          }
        ]

This will with 20% probability have size 32-127, with probability 70%
have document size 128-1023, and with probabilty 10% have document
size 1024-65536.