Using RandomState objects for random persistence.
Testing check_random_state.
Rewriting to use RandomState streams rather than np.random.seed.
If None is provided to check_random_state, the np.random stream is returned rather than a new RandomState.