The application has no way to limit the header separately from the body,
so we have to enforce some sanity limits to prevent excessive memory use.
To relax the limits somewhat, make the parsing more efficient.
New limits are:
* 2 MiB total header size (enough for > 1024 PQ recipients)
* 1024 recipient stanzas
* 128 arguments per stanza
Fixes#701
We are going to reuse the stanza format for IPC in the plugin protocol,
but in that context we need stanzas to be self-closing. Currently they
almost are, but if the body is 0 modulo 48, there is no way to know if
the stanza is over after the last line.
Now, all stanzas have to end with a short line, even if empty.
No ciphertexts generated by age in the past are affected, but 3% of the
ciphertexts generated by rage will now stop working. They are still
supported by rage going forward. If it turns out to be a common issue,
we can add an exception.