Add a PulseAudio output driver.
It uses libpulse's synchronous API, to output to PulseAudio
without using libao.
Fix libao output driver.

The driver id returned by libao wasn't checked correctly.
When the driver did not exist, libao returns a negative number. The
libao output driver checked for a non zero id.
This caused shairport to refuse to use the first driver, and not fail
when using a non-existant driver.
Add support to write pid to pidfile when running in daemon mode.
Merge branch 'pulseaudio' into 1.0-dev
Merge branch 'fix-libao-driver-check' into 1.0-dev