Don't call SetProperty from GetProperty.

Memoize with the internal container directly instead.
cmTarget: Make GetProperty() const.

This has follow-on effects for other methods and classes. Further
work on making the use of const cmTarget pointers common can be
done, particularly with a view to generate-time methods.
Merge topic 'constify' into next

bbc175a cmTarget: Make GetProperty() const.
cfb6661 Don't call SetProperty from GetProperty.