Model: diff check clones non-raw objects and arrays

Should only clone objects if they are raw Objects and not instanceof
other functions.
Model test for diff checking complex objects
Merge pull request #73 from Aintaer/master

Model: diff check clones non-raw objects and arrays