util/diff: checking arrays

Use object recurse loop to loop through arrays to check array elements
as well.
Controller/Entity: serializing Model

Provides a .toJSON() so that the controller instances can be serialized.
Model: change detection of arrays

Only if the array is a direct property of the model data object.

Fixes #56
Addressing stylistic issues
Merge pull request #57 from Aintaer/diff

Model fixes for registering change detection