fix some typos in README and manpage
support links as well as real files as filenames

My music collection is in a git-annex so my collection is
basically a big link farm playd ignored as it checks for the
existence of a real file. The test is factored out and internally
split into an existence check and check for real or link now.
This also means we have to check for directories first before
checking for file existence and the find command to list files in
a given directory must be told to follow links
relax space matching in lsof to get current song

The lsof I have here in Debian (4.86+dfsg-1) has a slightly different
output than what playd expects, so this commit matches any amount
of spaces instead of hardcoded 3 and accepts VREG or REG
try harder to find a filename for files in an annex

lsof will return the filename of the real file which is correct
but completely useless for a human being in case it is a git-annex
we are working in, so in this case search in the annex a link to
this file to return this as filename instead of the "real" filename
support a few more binaries displaying metadata

Debian doesn't provide tagutil, but many other binaries provide
a similar functionality, so we check here if one is available
and the first which is will be executed, so the output is not
stable/portable between different setups; if this is needed a user
is better of to ask for the filename to dispatch own calls anyway
handle filenames with special chars in playd_put

We can avoid escaping stuff like spaces by using single quotes
around a filename in the load{file,list} commands for mplayer,
but we have to escape single quotes in the filename then of course
fix the 'playd play' command
if available use sensible-{pager,editor} as default

Debian alike systems provide small scripts to detect which pager/editor
the user wants to use and if nothing works print a message to tell
the user what to do to choose one. This way it is possible to have
'less' consistently as 'more' preferred over 'most' pagers and
fallback gracefully if the usual preferred is not available easing
sharing of configuration across machines
redirect the output from a while loop vs each echo
avoid playback of the first file before stepping to last position

There is a delay between loading of playlist and skipping to the
last position in the playlist (it was even enforced with a sleep?)
so we put mplayer into 'pause' before loading playlist and skipping
and end the pause after it.

Also implements prefix-support (for e.g. 'pausing' …) in playd_put
support 'shuf' alongside 'jot' for randomization

jot is a relatively obscure program on Debian (included in athena-jot)
while 'shuf' is perfectly able to handle our usecase here and is
installed by default (as GNU coreutils are tagged essential)
rewrite mplayer slave forking

The old code exec's in a subshell and tends to start two mplayer
instances, lets try if the more common approach of backgrounding
from the current shell and checking the given child pid has a
better behaviour