Added a elementary ArraySeparator and a matching JsonValueProvider

Moved a few things around as well.
Macro deserializer still needs to be adapted to use array access
patterns, but that can wait until they solidify.