Fix for cyclic solutions in unifyProblems
Fix for cyclic solutions in unifyProblems

If we get x=y and y=x, need to update the second from the result of the
first so that we don't solve holes that aren't actually solved yet. This
fixes one cause of the mysterious "No such variable" error by not
solving a hole with a variable that doesn't exist.
Fixes #2731

markuspf/Idris-dev,mpkh/Idris-dev,bravit/Idris-dev,FranklinChen/Idris-dev,bravit/Idris-dev,markuspf/Idris-dev,jmitchell/Idris-dev,kojiromike/Idris-dev,markuspf/Idris-dev,Heather/Idris-dev,uuhan/Idris-dev,jmitchell/Idris-dev,markuspf/Idris-dev,FranklinChen/Idris-dev,kojiromike/Idris-dev,bravit/Idris-dev,kojiromike/Idris-dev,jmitchell/Idris-dev,eklavya/Idris-dev,Heather/Idris-dev,eklavya/Idris-dev,bravit/Idris-dev,jmitchell/Idris-dev,eklavya/Idris-dev,Heather/Idris-dev,bravit/Idris-dev,FranklinChen/Idris-dev,uuhan/Idris-dev,jmitchell/Idris-dev,markuspf/Idris-dev,mpkh/Idris-dev,mpkh/Idris-dev,jmitchell/Idris-dev,Heather/Idris-dev,markuspf/Idris-dev,FranklinChen/Idris-dev,bravit/Idris-dev,kojiromike/Idris-dev,eklavya/Idris-dev,mpkh/Idris-dev,eklavya/Idris-dev,kojiromike/Idris-dev,kojiromike/Idris-dev,uuhan/Idris-dev,uuhan/Idris-dev,FranklinChen/Idris-dev,Heather/Idris-dev,uuhan/Idris-dev,mpkh/Idris-dev,FranklinChen/Idris-dev,uuhan/Idris-dev,Heather/Idris-dev,mpkh/Idris-dev,uuhan/Idris-dev,markuspf/Idris-dev,eklavya/Idris-dev