[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

It does seem that Ridge and Ridge Classifier which are dependent on scipy solvers, some solver like lasqr exposes the number of iterations. I shall look tomorrow. However it will be tough and probably an overkill for solvers that are dependent on libsvm.