cmake-work

Initial splitting up and cleanup of CMake code (looking for feedback for now; merging would be best held off until the other directories have the same treatment). I'll add comments inline as to where some things need attention yet.
Oh well then let's change that, that's beyond inane, lol. I think let's make it _ to vaguely enforce some consistency.