Add statistic tools

- binning, jackknife, autocorrelation, observable.
- DRAFT only : in development, debug. Doc to be written.
arrays : fix matrix = scalar for complex types

Pb :
M() = rhs; // rhs of type RHS
Currenlty does :
M(i,j) = (i==j ? rhs : RHS{})
Changed to
M(i,j) = (i==j ? rhs : RHS{0*rhs})

If RHS is a double, int ... Same result.
If RHS is a matrix, gf, currently the offdiag elements
are default constructed (i.e. of 0 size !).
Which can break operations later (matrix<matrix<double>>)
After change : all elements have the same size !
Fixed computation of density for full matsub mesh

-> Previously, calculation was implicitly assuming a mesh with only positive matsubara frequencies.
-> Added corresponding test
-> Also added test of density calculation with or without correct tail.
Changed format of requirement warning in doc

- now more visible
- also added link to applications page
Added basic doc + additional test for tail fitting

- added test for a 'real-life' GF + corresponding output
- added basic usage documentation for tail fitting from c++. Full implementation details yet to be written
Fixed fit_tail for pos. and neg. matsub + bosonic

-> code was previously assuming mesh with only positive, fermionic matsubara freqs
-> changed wn_min to n_min (was misleading, since it was an index, not a frequency) / same for <-> max
-> changed doc accordingly
Extending fit_tail for scalar_valued (+ test)

-> extension by using reinterpret_scalar_valued_as_matrix_valued