Add another feature macro definition.
Better way to be cross-platform.

Use `sysconf(_SC_PAGESIZE)` and use `qsort` instead of `mergesort`.
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`.
Use `utilAsprintf`.

Also remove unneeded `#include`s.
Use `qsort` instead of `mergesort`.
Add `sortStable`.

This is meant to protect client code from worrying about whether or not
`mergesort()` is part of the standard library (eventually).
Use `utilSortStable`.
Merge pull request #763 from danfuzz/yet-more-gcc

Yet more Gcc / Glibc work