Throws if range is too large for 'random.uniform'

This fixes issue #2138 by checking that the range (i.e. high - low) is finite
before invoking `rk_uniform`.

A test case was added to ensure valid ranges do not throw, but invalid ranges
do.
Merge pull request #5131 from frutiger/random_uniform_throw_on_outofrange

ENH: Throws if range is too large for 'random.uniform'