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.