Allow pipe output - even if the reading end of the pipe is not open

I maintain [forked-daapd](https://github.com/ejurgensen/forked-daapd), which is a Linux iTunes server. It is able to stream to Shairport, which is great, but some users want to do something like this:

iOS device -> Shairport -> pipe -> forked-daapd -> multiple Airplay speakers

I've adjusted forked-daapd so it is able to read from a pipe. Shairport can already write to a pipe, but it is based on a use case where the reader always has its end of the pipe open. That won't be the case with forked-daapd since the user might be listening to something else. So I propose this change, which will make Shairport more flexible as to whether the pipe is open or not.

This also addresses issue https://github.com/abrasive/shairport/issues/286