BUG: Explicitly reject nan values for p in binomial(n, p).

Fixes #4571. Adds check with np.isnan(p) and raises ValueError if check is positive. Also adds regression test.