Throw if data input to toDPT does not meet minimum data type width.

This enforces behaviour of setData according to documentation in base
type, which throws rather than log an error. Correct unit test.
Make translation more accurate, to closer represent KNX 2-byte floats.

Introduce getter/setter to support double-precision floating-point
values of type double. Adapt unit tests to also work with doubles, and
test the actual specified range limits.