X.U.Run: Clean up spawnPipes a bit
X.U.Run: Clean up spawnPipes a bit

This makes it easier to see the differences between these functions,
makes it less likely someone will change one and not the others, etc.
More importantly, the documentation doesn't contain circular references
any more. :-)

Also, let's just use hSetEncoding. The concern of this being stateful
and theoretically having something written in the wrong encoding is
pointless: nobody has the handle until we return it from `spawnPipe'`.

(This also means that spawnPipeWithNoEncoding is now a text handle that
possibly does newline translation, just with char8 encoding. There
should be no difference in practice.)

Fixes: 8b2bd3ae5cd1 ("Add new variants of spawnPipe functions with encoding support")

xmonad/xmonad-contrib,xmonad/xmonad-contrib