various fixes to make it work

* convert @id to uuid in the validator
* treat the link attribute as non-required because it will get filled in from the parent
* filter out nested nulls and schema_version before submitting the form
* try to fix form validation messages for child object properties (needs more work)
* make the test objects specify required fields and additionalProperties: false to make the test more realistic