WIP: Use `os.execvpe` with `run`, fix `shell`

Use `exec` to replace the envdir process with the child process (fixes #20).

This commit also fixes `(env)shell` to behave properly when `Ctrl-C` is
pressed in the subprocess (apparently caused by using os.setsid).

This is work in progress, since tests are failing.

I have asked for support in py.test at https://bitbucket.org/hpk42/pytest/issue/511/support-for-calls-to-osexec .