Enhance ProducerPerformance to generate unique random Long value for payload

Details

Description

This is achieved by:
1. Adding a new class UniqueRandom to shuffle a range of numbers.
2. An optional new argument "start-index" is added to specify the starting number of the range to be shuffled. If this argument is omitted, it is defaulted to 1. So it is backward compatible with the argument options.
3. The ending number of the range is the starting number + number of messages - 1.