The general problem with anything filesystem related, ever is that `file_exists` and `fopen` are blocking calls. By providing something like this we are lying to the user, telling them that it's async when it really is not. At least not fully.

I'm all for supporting this type of functionality, which we kind of already do with the resolv.conf, but ideally we'd make the blocking part more explicit, and possibly even force the user to do it up-front.