Initial commit at cleaning up generated enums
Swap out more OPENSTUDIO_ENUM with generated code
Add missing WriteEnums.hpp file
Fix PCH for Release builds
Finish cleaning up of faster compiling enums
Add EnumBase.hpp
Fix PCH on MSVC
Merge remote-tracking branch 'origin/develop' into CleanerEnums
Fixing clang warnings
Fixing cyclic CMake dependency
Work around crash on exit of Sketchup

 - Seems with  the new sketchup, doing almost anything with the
   sketchup API causes a crash or hang, as the system is in a
   shutting down state
 - Also seems that during shutdown, we don't need to do the
   full model detaching process, as most of it is UI cleanuis,
   which have implicitly already completed at this point
 - Also, because the UI has already asked if a save should occur
   nothing that is done will be saved
 - This leaves only the cleaning up of the OSM temp dir that needs
   to occur. This is now done in the "shutdown*" methods added
   with this commit.

@macumber @axelstudios please review
Fixes #1206
Merge branch 'FixWarnings' into develop
Merge branch 'CleanerEnums' into develop