Fixed a bug in Separator.topLevelOnly that didn't work with strings of the form "foo[0].bar".
Simplified JsonValueProvider to give java primitives instead of Json primitives for get, but added another method getJson that returns all json wrapped values.
More unit tests all around.
improved Separator.wrap in order to wrap complex keys like "foo[bar(0)][baz]" and added unit tests
Few updates to macro serializer

Modified None's to be stored as JNothings when serializing options.