Use the current macro definitions for likely/unlikely from Samba. The
old version lacked parentheses around the non-GCC alternative, but
there are no uses where this would actually make a difference.
Replace (hopefully) all cases where normally successful allocations
could return NULL with abort(). This should allow skipping most checks
on allocation return values.
Original talloc build system used autoconf to check for features, most
of which were standard C headers. Assume those always exist. Always
use a workaround for the one non-standard feature (strnlen).