trying to fix escaping and quoting

Hi Allan,

What I'm currently doing here is attempting to fix the escaping and quoting issue I mentioned before.

Basically I quote the whole string instead of the individual items when there is a list of values separated by an `env_sep`

so basically we end up with python strings like    `'"/path1:/path2"'   '"/path1;/path2"'` which are what we expect when they get interpreted by any shell

but with that change and adapting some test cases, there is one test case failing on `tests_context`. (probably the only piece of code calling `execute_command`) 

That fails  because the `PATH` end up like `'"/path1:/path2"'` with is totally fine if it gets interpreted by any shell but is breaks when is interpreted by python itself
The `subprocess` module does a naive split by `os.path.pathsep` ending up like
`"/path1`
`/path2"`

So these change does not fix the issue
This and the next line fix the escaping when we have a prepend or append