Don't call SetProperty from GetProperty.

Memoize with the internal container directly instead.
macro: Add extra indentation to placeholder substitution code

The next commit will make this block conditional so pre-indent it
to clarify the simplicity of the change.
macro: Do not substitute for placeholders in bracket arguments

Fix the macro command implementation to avoid substituting macro
placeholders in bracket arguments recorded inside the macro block.
Test foreach/function/macro handling of bracket arguments

Bracket arguments recorded in command invocations inside foreach,
function, and macro blocks should not have any replacements done when
the arguments are replayed later.  Teach the RunCMake.Syntax test to
cover these cases.
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.
Allow disabling adding the install prefix to the prefix search path.

In certain scenarios, it is preferable to keep a 'dirty' install prefix
than to clear it, and to expect that content will not be found there.
Add a CMAKE_FIND_NO_INSTALL_PREFIX variable that can be set to disable
searching the install prefix.
CTest: prevent tests from being inserted in the cost list twice
Merge topic 'cmake-syntax-recorded-brackets'

b54dbeb Test foreach/function/macro handling of bracket arguments
ccdf7e0 macro: Do not substitute for placeholders in bracket arguments
999abb9 macro: Add extra indentation to placeholder substitution code
Merge topic 'constify'

c4373b3 cmTarget: Make GetProperty() const.
cfb6661 Don't call SetProperty from GetProperty.
Merge topic 'add-CMAKE_FIND_NO_INSTALL_PREFIX'

fe057ab Allow disabling adding the install prefix to the prefix search path.
Merge topic 'fix-duplicate-test-run'

2eccdbd CTest: prevent tests from being inserted in the cost list twice