Merge remote-tracking branch 'vincent/master' into cxx11_threading_plus
Move the old IPC-based semaphore to hsGlobalSemaphore, and provide a
"normal" (inter-thread only) semaphore class.
Add a proper binary semaphore type
Fix compile errors due to incompatible changes
Also replace hsCritSect (CCritSect) and CRITICAL_SECTION with std::mutex
Update the login dialog status message thread to std::thread
Get rid of the return value from hsThread::Run() -- it was useless anyway
Fix a few miscellaneous issues
Fix some coverity warnings
doxygen documentation