Clarify code that chooses a thread ID to include in a receipt (#3797)
* Extract threadIdForReceipt function from sendReceipt
* Tests for threadIdForReceipt
* Correct test of threadIdForReceipt to expect main for redaction of threaded
* Expand and comment implementation of threadIdForReceipt