Refactoring to support complex nested validations

* Lots of unit tests for JCObjContent
* Removed obsolete JCKeyValueContent
* Validation status is now in its own JCValue object
* Added dflt view class for JCObjContent
* Changed validator calling convention
* Added variable-length test() and testOptional()

TODO: default & same-as-default detection is broken at the moment.
Minor issue - as it only affects HTML rendering

Change-Id: I4ab5dfee792cb121fdb8cac8f342a3c5c2579f43
Merge "Refactoring to support complex nested validations"