Generates a random number (random integer) in user defined range. Can handle negative numbers as well as zero.