Require most strings be non-empty

Started out as fix #297: callsigns must be non empty strings.

minLength requires the string be non empty if it is present; so you can have optional strings with minLength 1 on them.

I think this is desired behaviour (?)
Certainly having empty callsigns or empty document ids (in telem.receivers.latest_*, or _parsed.flight, etc.) is going to be a pain; I can't see any reason the other strings would be empty

I left one string: payload_telemetry.data._raw - this can be the empty string; legal base64 for an empty upload.