add an implementation of digamma stolen from MALLET
use real digamma function