Json fields support

This improvement will be useful for those who uses the field to store small or medium json-data sets. It is unlikely that the field will store complex data with a high level of nesting (for such problems it's better to use NoSQL), so the overhead of using ``deepcopy`` will be negligible, especially given the fact that the protective function (``prevent_side_effects``) will be called only during initialization. 
For models without json-fields only one extra loop will be made through the fields during initialization.