add a property bag in KeyElements

And a way to fill it using #pragma comment.

This is so we can specify arch and OS for example.
add test harness for release build

No issues so far. All tests pass.