[system] Stop using putenv().

This re-implements environment-variable-setter in terms of
setenv() and unsetenv(), avoiding messy code on our end,
using GC_malloc, and creating a memory leak due to the
use of putenv().