Prevent backtrack loops

If an artifact has a dependency on itself it will cause backtrack to loop indefinitely as it resets its own possible values. If this is found, just ignore the dependency and continue on.

Note, this is only an issue when Solve must backtrack.