[MRG] Reduce complexity of cluster sampling in make_classification 

Fixes #2534, reducing complexity from space and time exponential in `n_informative` to space proportional to `n_informative * n_clusters_per_class * n_classes` (with small time complexity).

Makes `make_classification` output backwards incompatible (maybe we could keep the old behaviour for small `n_informative`, but this would still be faster).

Also fixes a likely bug where `hypercube=False`: rows of `C` were being transformed that unlikely had an impact on the output.