Refactor header files; use 1 level of indirection in most cases now.
Begin refactoring subsystem initialization and lifetime. Remove override of allocator and logging for now.
Subsystem refactor; with allocator overrides out, an interface to the allocator no longer makes sense. Also, use the real allocator in the unit tests now by collecting statistics all of the time.
Logger subsystem refactor for new lifetime; also add unit testing hook and resolve an output race condition.
Better name for library_internal.hpp; remove 'shutdown' CRT output logger hook, sneak in a little work on the unix subsystems.
Update Unix subsystems for new lifetime scheme. Also, fix most of the mutex references.