Add support for escaped keys in JSON decoder
The JSON decoder assumed that there would never be escaped characters in the key (before the ":" character) when in reality this can happen. Add support to unescape the characters and support setting the M array key with the unescaped string.
Add unit test to test that the changed code works and will continue to work.