First steps on Honorio-Samaras algorithm
Test signals generator

Code for main algorithm has been completed, but not tested (it has not
been run at all).
Corrected some bugs in Newton-Raphson step

Adapted the formula to enforce a positive solution.
The formula used for the second derivative contained an error (bad
sign).
Algorithm works on test case.

In the current state, the algorithm converges for different test cases.

The function contains **much** code for testing and asserting, that slows
down things a lot.
Added a debugging flag

Removed some test code.
Working example of honorio-samaras algorithm

This example is really rough, and there is debugging code everywhere.
But this state works.
Code cleanup
Optimized Newton-Raphson step.
Reduced memory consumption in _detrend
Reduced memory usage in _detrend, again

This memory usage reduction applies to all cases, instead of the previous
commit which improved a corner case.
Created _mean_of_squares

This function will replace a similar computation in high_variance_confounds()
which uses much more memory (execution time is similar, if not smaller).
Lower memory usage for high_variance_confound
Improved performance of H-S algorithm implementation

Replaced a loop by a numpy operation. Around 15% speedup on
plot_adhd_covariance2.py with 40 subjects.
Solved remaining problems after merging.
Renamed honorio_samaras function

New name: group_spare_covariance()
Updated docstring.
Added a test for group_sparse_covariance

Big code cleanup
Another optimization in group_sparse_covariance

The computation of an matrix inverse has been replaced by a computation
based on Sherman-Woodbury-Morrison formula. This improves the asymptotic
running time for a large number of variables.
group_sparse_covariance takes signals as input

The group_sparse_covariance() signature has been changed, to be
consistent with that of analogous functions in scikit-learn.

Added tests for group_sparse_covariance, adapted every example.
Created GroupSparseCovariance

Improved user messages in group_sparse_covariance
Moved LogMixin out of nifti_region.py.
Added duality gap computation

The return_costs keyword of group_sparse_covariance nows returns the
duality gap in addition to the primal problem cost.