add support for gmail-like message and thread IDs.

this uses a custom x-aox capability, and I may change it. the fetch/search
items are named as on gmail. the parser is a bit hacky... hm...
thread correctly even when a message-id exists several times in the db
try harder to issue the citext lookup FIRST.

there were cases in which it might be the second query, and srb found
one in which the first query used citext. oops.
avoid adding eternal objects for TlsThreads

instead, add a pointer from a Connection. cleaner, really.
add message-id even for inbound messages, so threading sucks less.

in that case, the right-hand-side is one that clearly communicates what
I think about id-less messages (instead of Configuration::hostname()).