Fix DDF handling of negative values and values above 2^52
Fix DDF handling of negative values and values above 2^52

For signed integers the C++ union is tricky as the correct member needs to be
extracted. In contrast to unsigned integers  num.s16 != num.s64. Since the
ZclAttribute already has the correct negative number in its internal QVariant
we can just use it.

Also expose 56-bit values as string since JS only has 2^52 integers.

The scopes where added to prevent stack corruption  (not actually reported but to be safe..).


dresden-elektronik/deconz-rest-plugin,dresden-elektronik/deconz-rest-plugin,dresden-elektronik/deconz-rest-plugin,dresden-elektronik/deconz-rest-plugin,dresden-elektronik/deconz-rest-plugin