Add tests to SingleThreadedSchedulerClient() and document the memory model
Summary:
This is a backport of Core PR13247
Add Unit Test for SingleThreadedSchedulerClient
Ensures ordering of callbacks within a SingleThreadedSchedulerClient
with respect to each other
Update documentation for SingleThreadedSchedulerClient() to specify the memory model
Update ValidationInterface() documentation to explicitly specify threading and memory model
Test Plan:
make check
Reviewers: #bitcoin_abc, jasonbcox
Reviewed By: #bitcoin_abc, jasonbcox
Differential Revision: https://reviews.bitcoinabc.org/D3169