Add a wrapper for `asprintf`.

This is both to keep it consistent with the other `util*` memory functions,
and to limit the collateral damage from having to define `_GNU_SOURCE` in
order to get it to be defined when using glibc.
Add a note about `_GNU_SOURCE`.