[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().
Minor typo fix.
[doc] Recommend using lldb on Mac OS X.
Pass correct variable to size keyword argument.

The code as it was was wrong and also resulted in a compiler crash
due to passing a generic function as the size parameter.
Add MMAllocMisc / MMFreeMisc and use them.

We've long had a couple of hacks to permit using GC_MALLOC / GC_FREE
from within Dylan code. This begins to remove those hacks. The other
usages need additional work to remove.
Use MMAllocMisc/MMFreeMisc for envp.

We create an environment data block for passing to spawn() but we
need to use MMAllocMisc and MMFreeMisc for managing it rather than
GC_malloc.
Remove (now) unused hack for GC_malloc.