Wait For Reply calls now include a description

refactor

Wait For Reply calls can now optionally include a description that's calculated on request instead of the textual form of the closure used to validate incoming messages. This aids in debugging when the calls fail.

All internal usages of the Wait For Reply calls have been annotated with a debug message to help with tracking down message failures.