shorter array slicing
made some methods into private methods
cleaner use of check_arrays()
named arguments
use safe_sparse_dot()
use np.random.RandomState directly
do not do any checks during __init__()
do not use mutable default arguments
added new tests for sample data generators
fixed bug in make_checkerboard(), so tests pass again
use assert_all_finite
skip permutation test for now