Fix twice referenced task properties

The Set used to detect looping properties did not get expanded
properties removed from it. If a property was encountered twice on
separate expansion paths branches, it was still seen as a loop and tasks
were incorrectly marked invalid in this case. Remove the property from
the Set after expanding it so that it can be expanded again in another
path without becoming invalid.

Also add a 'Task Properties Referencing Twice' test

Change-Id: I44e03d08e2296b49bc6886266739aedf588f69d2
2 files changed