Drop use of configure_file IMMEDIATE option

Since commit 7d47c693 (Drop compatibility with CMake < 2.4, 2013-10-08)
we no longer need to use the configure_file IMMEDIATE option to support
compatibility modes less than 2.0.
set: Handle value-less PARENT_SCOPE explicitly

The code "set(VAR PARENT_SCOPE)" unsets VAR in the parent scope.
Implement this case explicitly next to where "set(VAR)" is explicitly
handled to unset VAR in the current scope.
set: Fix handling of empty value with PARENT_SCOPE

Just as

  set(VAR "")

sets VAR to an empty string in the current scope, the code

  set(VAR "" PARENT_SCOPE)

is documented to set the variable to an empty string in the parent
scope.  Fix the implementation to make it so.
set: Add unit tests for set/unset PARENT_SCOPE

Create a RunCMake.set test to cover set() command cases, starting with
PARENT_SCOPE.
Merge topic 'configure_file-drop-IMMEDIATE' into next

15610bb Drop use of configure_file IMMEDIATE option
MSVC: Fix encoding of Visual Studio 10+ project files.

Use Windows-1252, which is the same encoding as older
Visual Studio project files.
Merge topic 'set_emptyvar_PARENT_SCOPE' into next

bf755c7 set: Add unit tests for set/unset PARENT_SCOPE
bc280f1 set: Fix handling of empty value with PARENT_SCOPE
20afbd5 set: Handle value-less PARENT_SCOPE explicitly
Merge topic 'msvc-encoding' into next

efe3a5d MSVC: Fix encoding of Visual Studio 10+ project files.