This class implements a host thread for the different platforms. As with HostProcess, no code has been updated to use HostThread yet, as this will clutter up the code review unnecessarily. However, the methods of HostThread generally map to methods of Host, so the conversion should be mostly mechanical. Because the actual conversion of client code has not been updated to use HostThread yet, it means the code in HostThread is largely duplicated. This duplication will be removed after the transition takes place.
I'm not super good at Linux, MacOSX, or FreeBSD, so I've included various people as reviewers in hopes of catching anything I may have implemented incorrectly. But don't feel obligated to review everything.
I've compiled and tested these changes on Mac, Linux, and Windows. (note, however, since nobody has been updated to use HostThread yet, there's little to actually test).