Refactor out sysconfig handling

This is more a "feeling" than a concrete thing. But I see somehow strange that ```ensure_file_exist``` cares himself about the difference between target and current system while we have ```temporary_target_agent``` to hide that detail to ```write```. I see that ```ensure_file_exist``` is specific for this situation and ```write``` is reused in other parts, but it still feels strange. I would either rename ```ensure_file_exist``` to include "target" somewhere in the name either implement something like this (which is probably overkill):
```
in_target do
  ensure_file_exist
  write
end
```
As said, this looks overkill. Renaming ```ensure_file_exist``` to something like ```ensure_file_in_target``` or something like that (I suck at naming) will suffice.