add ability to block whilst running start/stop external commands
tinysvcmdns: don't spin violently on shutdown

Linux overwrites the timeout argument with the remaining time when
select() returns, so if you don't reset it it shrinks to nothing.
Replaced with nanosleep() as per POSIX.1.
rtp/rtsp: report control port so we actually get resent packets

Detection and fix thanks to @Nachtzuster.

This still doesn't allocate the ports very cleverly at all. The port
handling code needs to be rewritten to allocate either one or three
ports, and then timing sync code can be sorted out...
fix RTSP fix

Previous commit was broken due to my stupidity.
Merge pull request #2 from abrasive/master

Update from head