FIXED: Bug in subterm_pos that was causing cyclic terms

Hi Jan, could you push the following problem I fixed? I guess we should not use =/2 in subterm_pos, to avoid unifications:
 
In module prolog_codewalk.pl, predicate subterm_pos, unifications between
Sub and Term would cause undesirable bindings in Term, and also is not
desirable that Sub be unified arbitrarily with any free variable in Term.
Proper handling of module qualified terms when the module match the
context.