Make build system more static linking friendly

BtbN requested to merge BtbN/pulseaudio:optional_utils into master

This PR has two main goals: First the goal is to enable the build of static pulse client libraries, which includes generating proper pkg-config files for them that don't break compatibility with the current manually generated ones. Secondly it's making the CLI utilities optional, which in turn also makes libsndfile optional, so that only the client libraries can be built.

I've tested a bunch of different combinations, and I think this works without breaking any existing use cases, while adding a bunch more flexibility to the build system.

Merge request reports