Split eval-candidate into eval-candidate-likelihood and eval-candidate

eval-candidate-likelihood is used to compute the likelihood of a
candidate according to a certain dataset. That is the probability of
explaining that dataset.

While eval-candidate is ised to compute the score of a candidate
according to a certain fitness function (ultimately supporting the
same set than MOSES)
Fix bug in prt_backtrace (treat case where syms is NULL)