Fixed issue with attribs named '$'.
rework JsonProvider so that the backing object don't have to implement List or Map
Merge branch 'improve-jsonprovider'