- use Datatype.validate for converting and checking limits
(used also in properties)
- Datatype.__call__ converts and validates, but without checking
limits (used in setter)
- Datatype.validate may be used to add missing optional struct elements
from previous value (used in Dispatcher._setParameterValue)
- remove problematic range check
+ use shorter formula for converting float to int in ScaledInteger
(leftover from python2 compatibility)
+ improve error messages (strip very long repr(value))
Change-Id: Ib85736fe558ec3370ebce4e1c43f957e3bb0497c