#3381942 - Make fields() method work with nested fields
- fields() method works with nested fields
- introduces data_key PROPERTY_SEPARATOR logic introducing "%" (data_key: data/%/user) symbol that means: maps all data array's values getting for each the user object
- introduces kernel test for some migration case