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  
to me this is broken:

0/ score returns a log lik so it's always negative unless this is a normalization bug

1/ you cannot guarantee the order of the components.

2/ you could use score_samples to know if which gaussian a mixture belongs

I feel you're addressing a not so easy problem which is a pain and prevents
merging for the great new API