Fix change tracking for properties requested from prepare scripts.

When evaluating prepare scripts, we currently gather values requested
from products as well as artifacts, but we do not differentiate between
the two cases and upon restoring, we always compare the old property
values to the product properties. This results in an insane amount of
recompiling if any build system file changes due to false positives.
With this patch, we record whether a property was requested from a
product or an artifact, and use the right set of properties when
tracking changes.

Change-Id: Ib1fa4fad41019cfa7d3a10e0a91e7709c2f56414
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>