Fix #310 Mutated sub model not being saved issue

* Add the code that checks for 'CBLJSONEncoding' protocol and assign OnMutate block if the value implements 'setOnMutate' in the 'impForSetterOfProperty' method.
* Add 'API_SaveMutatedSubModel' test.