Added option to serialize to obfuscated JSON and to deserialize from obfuscated JSON

This PR allows you to serialize an object to an obfuscated JSON object and to deserialize from an obfuscated JSON object.

For example:
```c#
    private class ClassToObfuscate
    {
        public int Property1 { get; set;  }
        public string Property2 { get; set; }
    }

    public void SerializeEnableObfuscation()
    {
        var startingObject = new ClassToObfuscate
        {
            Property1 = 5,
            Property2 = "Second"
        };

        string text = JsonConvert.SerializeObject(startingObject, new JsonSerializerSettings { ObfuscationEnabled = true });
        // startingObject will be serialized as: {"a":5,"b":"Second"}

        var finalObject = JsonConvert.DeserializeObject<ClassToObfuscate>(text, new JsonSerializerSettings { ObfuscationEnabled = true });
        // finalObject.Property1 == 5
        // finalObject.Property2 == "Second""
    }
```