gf,tail: fix fourier tail usage if tail too short

- If the tail is just 1/omega, the fourier transformation
raised an exception in trying to get the higher coefficients
to substract before FFT.

- Changed : the 1/omega coefficient is still mandatory,
but higher coefficients are not. If the tail expansion stops at 1/omega
then 0 is used for those coefficients.
-> it is less precise, but not incorrect not to use them.

- accordingly, added a get_or_zero(n) method in tail that
returns the coefficient of the tail if it is between order_min and
order_max, and 0 otherwise (while operator()(n) still raises exception
as before if n is too large, as before).

- Fix matsubara and real fourier.