VS: Allow users to specify arbitrary non-built file item metadata
Implements changes discussed in #20445 (closed)
- Adds a source property called VS_SETTINGS which takes a list of key-value pairs. These are used to write item metadata for that non-built file.
- Adds a target property called VS_SOURCE_SETTINGS_<tool> which takes a list of key-value pairs. These are used to write item metadata for all non-built files in the target that use the tool.
- Both properties have their values evaluated in their entirety as generator expressions.
- Adds a test for these new properties.
Fixes: #20445 (closed)