MRG: revamp ICA

New API for ICA, shorter examples, new diagnostic plots, utils for generating epochs on artifact events, outlier detection ....
I know it's gonna  be difficult to review but from time to time PRS like this one are necessary.
Please don't review. I'm in the middle of debugging.

cc @jdsitt @fraimondo @agramfort  
@agramfort see https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/mixture/gmm.py#L559