This fixes 5 issues in regard to types of values:
1) Default values for params in the metadata were not converted properly,
most visibly on integer values being loaded as double values.
2) Param values coming in from jsonrpc were not converted properly.
3) The plugin might set state values with invalid types or being out of range.
4) If, for some reason (e.g. earlier versions of nymea, or a plugin setting
its own params in code with a wrong type), there was a param value with a
wrong type in the system, we stored that wrong type and restored it on loading
of plugin params while instead it really should be converted to the specified
type in the ParamType.
5) If a plugin is not loaded for a configured thing, the old code would
not initialize the states properly but upon shutdown save those invalid
values to the cache.