Frontend changes to show errors when multipart notes are missing a text subnote.
Only skip custom validations if we've already logged a failure for a given property.

Previously all custom validations would be skipped if any validation had
failed, but this prevented more than one custom validation from being reported
at a time.  For example, two notes might be missing subnotes of type text, but
only one would be reported.
Factories fixes
fixup af5e6e3df2f86cd6c1bb2316edefbc34aac8f678
Rework date validation to use Ruby's inbuilt date parsing rather than regexps.