Move OptionalAttribute portability fix to earlier in compilation order
Undo breaking change to JsonValue.Properties
Added some C# JsonExtensions tests