Merge changes Ide699acc,I774c599c,I5c419e37,I7f24174d,I989f453e, ...

* changes:
  When you include the posix header libgen.h, glibc #defines basename to some random other symbol name (because gnu) and this screws up nontrivial macro expansions of NEWTOY(basename), so work around it in portability.h.
  Link to gmane web archive.
  Another random link for the design page.
  Fluff out help text.
  Promote mix
  Cleanup mix.c.