digamma anew
the rewriting of digamma was inspired from boost_math. After the previous merge of the digamma pull request
the pass on the bots indicated remaining problems.
In fact in boost_math the digamma function is calculated bu upgrading the type to keep accuracy.
This is not always possible in NT2.
Also even we this possibility for negative values of the input even boos_math cannot
guaranty that float(digamma(double(x)) will be near digamma(float(x)) near negative integers.

Moreover the Matlab psi (psi(x) is the same as digamma(x)) function is only defined for positive entries.

the NT2 digamma function has a good behaviour on positive entries and the exhaustive test on non denormal
positive float leads to 0.5 ulps agains the boost_math one
For negative entries the cover tests between -6 and 6 pass at 128 ulp for double, but a change of the
number of samples will (no doubt) make it fail.
cover tests are put n positive non denormal to ensure success as for negative values no bound can be clearly set
max value for digamma cover should be 30
Merge pull request #718 from jtlap/digamma_anew

Digamma anew