Osxify

Bring everything back into operation for OSX as well. Linux should be unchanged.

Refactored some things around app and user config, and changed everything to be non-destructive on repeat runs.