settings: move struct metadata generation to gen_settings_types.py
move the h/cpp code templates to gen_settings_tmpl.[h|cpp]