Move to using std::error

This removal of `os::` looks wrong. `homedir` is recursive now.