obs-data default value semantics change and autoselect value introduction

These changes allow preservation of default settings and introduce the concept of autoselect settings that effectively overrule user settings during runtime without overwriting the user config; for example, opening a properties dialog after a user manually edited the on disk config source (e.g. scenes.json in obs-basic) can preserve even invalid values (e.g. too high framerate for a capture device), as long as they are valid values in the obs-properties, and allow the handling plugin to autoselect a valid value (e.g. highest available framerate) and communicate that value with the system.

Displaying autoselect values is currently only implemented for property lists in obs-basic.