Kconfig: Support macro expansion within symbol names
Kconfig: Support macro expansion within symbol names

Update Kconfiglib to upstream revision 2be02fac78527 to add support for
expanding macros within symbol names, extending the existing Kconfig
preprocessor
(https://github.com/torvalds/linux/blob/master/Documentation/kbuild/
kconfig-macro-language.txt). Some minor optimizations are included as
well.

This makes it possible to add Kconfig templates to avoid code
repetition, e.g. like below:

Kconfig.log_template:

    choice
    	prompt "Max compiled-in log level for $(module-str)"

    config $(module)_LOG_LEVEL_OFF
    	bool "Off"

    config $(module)_LOG_LEVEL_ERR
    	bool "Error"

    config $(module)_LOG_LEVEL_WRN
    	bool "Warning"

    config $(module)_LOG_LEVEL_INF
    	bool "Info"

    config $(module)_LOG_LEVEL_DBG
    	bool "Debug"

    endchoice

    config $(module)_LOG_LEVEL
    	int
    	default 0 if $(module)_LOG_LEVEL_OFF
    	default 1 if $(module)_LOG_LEVEL_ERR
    	default 2 if $(module)_LOG_LEVEL_WRN
    	default 3 if $(module)_LOG_LEVEL_INF
    	default 4 if $(module)_LOG_LEVEL_DBG

Using the template:

    module = FOO
    module-str = foo
    source "Kconfig.log_template"

    ...

    module = BAR
    module-str = bar
    source "Kconfig.log_template"

This feature might create harder-to-read Kconfig files if abused, so it
should probably be used sparingly.

Fixes: #9761

Signed-off-by: Ulf Magnusson <01743f1c1deb1fe75271d62edb65757d98ac0bcb@nordicsemi.no>

kraj/zephyr,punitvara/zephyr,explora26/zephyr,GiulianoFranchetto/zephyr,explora26/zephyr,finikorg/zephyr,Vudentz/zephyr,kraj/zephyr,finikorg/zephyr,galak/zephyr,GiulianoFranchetto/zephyr,GiulianoFranchetto/zephyr,zephyrproject-rtos/zephyr,nashif/zephyr,punitvara/zephyr,explora26/zephyr,GiulianoFranchetto/zephyr,zephyrproject-rtos/zephyr,nashif/zephyr,kraj/zephyr,punitvara/zephyr,ldts/zephyr,explora26/zephyr,galak/zephyr,zephyrproject-rtos/zephyr,nashif/zephyr,kraj/zephyr,finikorg/zephyr,finikorg/zephyr,ldts/zephyr,galak/zephyr,kraj/zephyr,punitvara/zephyr,ldts/zephyr,Vudentz/zephyr,explora26/zephyr,nashif/zephyr,zephyrproject-rtos/zephyr,galak/zephyr,Vudentz/zephyr,ldts/zephyr,finikorg/zephyr,Vudentz/zephyr,zephyrproject-rtos/zephyr,ldts/zephyr,galak/zephyr,nashif/zephyr,GiulianoFranchetto/zephyr,Vudentz/zephyr,Vudentz/zephyr,punitvara/zephyr