Checking if map key supports any unmarshalling interface and using it to decode the key before falling back to getting node value and converting it to key type
[x] Describe the purpose for which you created this PR.
[x] Create test code that corresponds to the modification
Close #452
Checking if map key supports any unmarshalling interface and using it to decode the key before falling back to getting node value and converting it to key type