tunnel-source-new: counterpart to module-tunnel-sink-new

The old tunnel module duplicates functionality that is in libpulse,
due to implementing the native protocol, and the protocol code in
the old tunnel module tends to get broken every now and then, because
people forget to update the tunnel module protocol implementation
when changing the native protocol. module-tunnel-source-new avoids this
problem by using libpulse to communicate with the remote server.
suspend-on-idle: Allow disabling suspending for specific devices

Sometimes it would be nice to disable module-suspend-on-idle for
specific devices. For me the use case is to keep a HDMI sink running
all the time to avoid loss of audio when starting to play a stream to
the device (the HDMI receiver eats a bit from the beginning of the
stream when the device is opened). This is arguably a hacky solution
to the problem, but on the other hand, I think it's very sensible to
interpret negative timeout in the module-suspend-on-idle.timeout
property as disabling the suspending altogher. This is also how the
exit-idle-time configuration option behaves (negative value disables
automatic exiting).

I moved the property parsing from the timer restart function to the
function that creates the device_info objects, because if the timeout
is negative, we don't need to create the device_info object at all.
resampler-test: Add zero padding.

For the resampler test we create 10 samples and run them through a
resampler and then we try to run run the resampler backwards. This
crashes if our original 10 samples are not enough to produce any output
on the original run.

This patch adds additional zero padding to our original 10 samples. This
way all resample methods produce enough output to run the resampler
backwards.
resampler-test: Change the default rates

The default test case in resampler-test is to run the auto resample
method with some test samples from a rate of 44100Hz to a rate of
44100Hz.

When the rates are equal our resamlper automatically chooses to use the
'copy' resamlpe method (that is no resampling is done). This is quite
useless as our default test case (which is run by make check), so change
the rates to something more sensible.
resampler-test: Refactor out the test code into functions

We have 2 main test cases:
    - run the resampler using only a single sample format
    - run the resampler using all sample formats

This patch simply moves our test cases into separate functions. To
improve readability and reusability.
resampler-test: Change the default test case to test all methods

This changes the default behaviour of our resampler-test if we
don't provide a resmaple method or sample format on the command line.

If neither a method or a sample format is specified we test all
resampling methods.

This way if we run 'make check' all our resampling methods will be
tested.