UNIX support

First pass to remove any "linux::" case classes where we meant "!windows::" and clean up some of the harder to grasp series of case classes.