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.
Merge pull request #404 from couchbase/feature/issue_310

Fix #310 Mutated sub model not being saved issue