ENH: faster cartesian product in make_classification and document complexity

This version
* is 4-6x faster
* takes less memory, and
* (on my box) is more likely to give a decent MemoryError instead of
  triggering the OOM killer, because it allocates in one go.

See #2534.