arrays: to_python now raise exception when array is empty

- otherwise it was simply crashing .
- now raise a C++ exception
- adapted cython wrapper to catch it as a python exception
c14. add some helper traits to simplify

add_const_t and co....
fix include
clef: cleaning

- use alias
- rename a few things, simplify
- some clang format
- add eval to ref wrapper
- correct evaluator general (return const &, no copy)
- correct declaration order of struct and operator OP
clef: further little corrections

- declaration order in template.
- some eval details
- do not undef the macro TRIQS_CLEF_STD_MATH_FNT_TO_MAKE_LAZY
for reuse in other part of the lib
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