Use default source settings for recording in pulse input

This patch series makes the pulse plugin use source specific settings for recording instead of server defaults. Also some minor code cleanups/refactoring is included.