Add cross platform default save path on advice of tigger/infoburp, fixed for windows outside of msys command prompt.

This works in Windows and should also work with the $HOME variable in posix environments. It checks to make sure the environment variable is NULL to avoid causing an exception in the std::string constructor and falls back to the current directory.