Revert "Remove unit tests for invalid input values, ..."

... after clarification of format"

I removed the clarification which was incorrect, and thus reinstated
the unit tests.

This reverts commit 9ce8d024123d9f0a5920e3ddbae0a517c44c9870.
Update minimal tests based on updated specification of format

1) an empty array is no longer deemed valid. The minimal ghost recording
   must include custom field and version fields.

2) one level of nesting is expected even for a single record
Update unit tests for new signature of compact()

Instead of returning the compacted array without changing the input,
I now expect to modify the ghost array provided as argument in place.