[MRG] Added n_iter_ parameters across all iterative solvers

Added a n_iter parameter across all iterative solvers that have a max_iter parameter.

Models that have the max_iter parameter.

- [x] AffinityPropagation
- [x] CCA
- [x] DictionaryLearning
- [x] ElasticNet
- [x] ElasticNetCV
- [x] FactorAnalysis
- [x] FastICA
- [x] GraphLasso
- [x] GraphLassoCV
- [x] KMeans
- [x] LabelPropagation
- [x] LabelSpreading
- [x] LarsCV
- [x] Lasso
- [x] LassoCV
- [x] LassoLars
- [x] LassoLarsCV
- [x] LassoLarsIC
- [x] MDS
- [x] MiniBatchKMeans
- [x] MultiTaskElasticNet
- [x] MultiTaskElasticNetCV
- [x] MultiTaskLasso
- [x] MultiTaskLassoCV
- [x] NMF
- [x] OrthogonalMatchingPursuitCV (Not exactly max_iter but number of active features)
- [x] PLSCanonical
- [x] PLSRegression
- [x] ProjectedGradientNMF
- [ ] RandomizedLasso
- [x] SparsePCA

Dependent on external solvers like arpack, so cannot access the iter param

- [x] Isomap
- [x] KernelPCA
- [x] LocallyLinearEmbedding
- [x] Ridge
- [x] RidgeClassifier

Dependent on LibSVM

- [x] NuSVC
- [x] NuSVR
- [x] OneClassSVM
- [x] SVC
- [x] SVR

You could probably simplify code using:
yield (check_non_transformer_estimators_n_iter, name,  Estimator, 'Multi' in name)