SolutionHolder.isFree()
Renamed distinctall -> distinct
collectReifiedResults() to factorize code in findall/3 and distinct/3
list/1 in prolog - not efficient.
Refinements and proof-reading.