[WIP] ENH: add infomax

Addresses #3379

Some problem with matrix transposes (failing tests). Once solved it should be clean.

cc @GaelVaroquaux @ogrisel @agramfort
The `rng.seed` effectively throws away the earlier `random_state`. Also, what's wrong with `rng.permutation(n_samples)`?