[WIP] Random coordinate descent

This is just an attempt to check if shuffling of features helps in random convergence, for now it is just a quick hack, if there is really a decrease in the number of iterations, we can shift to the Cython version to reduce the overhead

ping @ogrisel @agramfort
This is equivalent to sampling features with replacement. I think its better to use a permutation (shuffling without replacement) to ensure that all the features are touched at each iteration. Otherwise you have around one third of the weights that are not updated at each iteration.