better names and comment, performance improvements
better names and comment, performance improvements

'$attributed'/1 is now used to avoid extracting variables if the term
contains no attribute at all. A good example is:

   ?- length(Xs, 3000), all_different(Xs).

all_different/1 connects all pairs of variables, so a lot of copying
and garbage collection would occur. However, most variables will have
no attributes when encountered, since those have already been removed
and scheduled for later. Using '$attributed'/1 avoids this overhead.

edechter/swipl-devel,edechter/swipl-devel,koryonik/swipl-devel,koryonik/swipl-devel,koryonik/swipl-devel,jn7163/swipl-devel,jn7163/swipl-devel,edechter/swipl-devel,mndrix/swipl-devel,mndrix/swipl-devel,edechter/swipl-devel,jn7163/swipl-devel,koryonik/swipl-devel,mndrix/swipl-devel,jn7163/swipl-devel,mndrix/swipl-devel,edechter/swipl-devel,koryonik/swipl-devel,jn7163/swipl-devel,mndrix/swipl-devel