The solaris sources use a non-portable create-thread-suspended flag when
spawning the update thread; I've thrown together a pthreads portable
equivalent. This has not had any real level of testing.
These changes include a lock around the underlying brk() call; the lack of lock
in earlier revisions of this repo may be the reason that
UMEM_OPTIONS=backend=sbrk was flaky.
Use our own getenv() on glibc platforms, as the glibc implementation calls
malloc() internally. This allows the use of env vars to enable debugging modes
in the app.