Add data processors support


Sometimes the data in storage differs from data in instances.
For example, the strings/binaries may have fixed length, the dates and times are constrained to specified min/max values, etc.
Also some data may require conversion, normalization etc.
And at last but not at least the data may requires validation.
The new component data processor allows to change the value before it applied to data storage command or before it put to instance data.