rework the creation of the local part of messageid

Lukas Mai reported that there are a few off-by-one errors in the
existing code, which was true at least once.  In the other case, the
code was either off by one or naming a variable poorly.  At any
rate, it was all weird.

This change eliminates the off by one, eliminates a method call,
and changes the way that the counter data is used.

I did not like the way that a global counter was being used.  Since
it was always 0..9, but appended to base22, it was often easy to see
how many message-ids a given process had generated.  This is hardly
a major problem, but it bugged me.  It was also possible (although
quite unlikely) to get the same message-id, because (1231 . 0) and
(123 . 10) could be generated within one second.  This is no longer
possible, as the counter has been moved to the hunk with (time) in
it, which is unlikely to change by an order of magnitude during one
process!

None of this is meant to be attack-proof.  It's just meant to be
quick and simple.
v1.405

          minor tweaks to how message-id local part is generated