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.
* make a safer/better check for number of cpus on linux
* use pthread_once to register the forkhandler, as it is possible to call it twice in some scenarios without this protection