Partial commit for SVY-6666, SVY-6818, SVY-6337, SVY-7028, SVY-7026.

It is not working yet. It's just a commit to merge easier with head
changes.

Still to be done: browser side refactor of components from array to
non-array, browser side impl. of custom json arrays, browser and server
side impl. of custom json object, making it work with all the changes.
Merge branch 'master' into refactor_conversions_to_9
Merge branch 'master' into refactor_conversions_to_9
For SVY-6666, SVY-6818, SVY-6337, SVY-7028

All seems to be working now except CustomJSONObject (so half of 7028)
which is also needed to fix 7026.
Merge branch 'master' into refactor_conversions_to_9