Make ufiber_join() implicit unref

ufiber_join() implicitly decrements the reference count for the joined
thread.  This is more analogous to pthreads and eliminates some
boilerplate.  A consequence of this is that if a thread is joined
multiple times, there must be corresponding references (calls to
ufiber_create() or ufiber_ref()) for each join.
FF_NOREF -> UFIBER_DETACHED

An unreferenced fiber is "detached", as in pthreads.  A detached fiber's
resources are freed when it exits.

Unlike in pthreads, a fiber which starts in a detached state may
call ufiber_ref() on itself and reattach to some other thread.