Allow same task for different changes

Previously the same task for a different change would be flagged as
invalid since it was considered a loop, but as long as the changes are
different it really isn't a loop, and it should be allowed. Improve the
loop detection logic to be able to handle this and add a test to
specifically ensure this is allowed. Also update the change looping test
since it will now only detect the loop once the same change is repeated.

Change-Id: Ib215bdd67b05a302dabdfc115caf671c6de6f3cb
3 files changed