JsonView should return null if no data is set, regardless of the type of '_serialize'.

It should also honor true/false/0/'' values.
Battery of tests added.

Right now when ```'_serialize'``` is an array, an empty array is created and JSON encoded later if no keys are added, resulting in an empty JSON encoded array.

Variables are read [only if set](https://github.com/cakephp/cakephp/pull/1613/files#L1R137).