This enables us to statically set the thread names at compile time, or at least during construction at runtime. This completes the crux of the splitting work required to functionally split libspinscale off from SMO.
Remaining areas to split off: * The handleLoopException, exceptionInd logic. * getThreadName().
We'll probably use the name "marionette" as an application-level name.