Support for printing exception backtrace symbols on OS X.

The Mac OS X equivalent of `addr2line(1)` is `atos(1)`.
You could use KJ_DEFER to perform this cleanup when it leaves the current scope. Something like:

```C++
static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
pthread_mutex_lock(&mutex);
KJ_DEFER(pthread_mutex_unlock(&mutex));

...

const char* preload = getenv("LD_PRELOAD");
String oldPreload;
if (preload != nullptr) {
  oldPreload = heapString(preload);
  unsetenv("LD_PRELOAD");
}

KJ_DEFER(if (oldPreload != nullptr) { setEnv("LD_PRELOAD", oldPreload.cStr(), true); });
```