Add json name overrides to allow using standard C# property names

Just a little convention modification to allow Json names without having non-conventional C# property names. The JsonProperty attribute allows independent naming and allows correct casing for both.