Merge pull request #3817 from RosettaCommons/roccomoretti/cloud_multithread
Move multithreaded cloud usage behind compiler directive.
To enable better compilation on platforms where std::thread requires pthread, move multithreading in protocols/network/cloud.cc to behind the MULTI_THREADING directive.
This also involves moving some of the code in external/include/httplib.h behind that compiler directive.
The single-threading logic for protocols/network/cloud.cc has also been adjusted, such that it works without any resort to std::thread.