Settings: Make setting entry group and values mutually exclusive

This greatly reduces the complexity of Settings code.
Additionally, several memory leaks were fixed.
Rename and repurpose minetest.set_noiseparam_defaults to set_noiseparams
Settings: Sanitize setting name everywhere, not just LuaSettings
Noise: Create a deep copy of NoiseParams
Remove get_noiseparams function. read_noiseparams should be used from now on