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)
Commit before switch branch - on the way of implementing Depth First mining.
Merge branch 'master' of http://github.com/opencog/opencog into PM
Added new parameters to pattern miner config file.
Implemented extracting n-distance neighbour links.