device-port: Add a latency variable to the port struct

A latency offset variable was added to the port struct and a function to
set the latency offset.

The latency offset does nothing for now, but it will be later added to
the sink/source latency.
sink, source: Add a latency offset which is inherited from the port

A latency offset variable was added to the sink/source struct.

Also a function was introduced to update the latency offset of the
sink/source and a new message type was introduced so we can send the latency
offset to the IO thread.

The latency offset is automatically populated with the latency from the
currently active port.
pacmd: Add functions to handle the latency offset

pacmd was extended so it can handle the new latency offset.

A new function was added so we can set the latency also the list
commands were extended to print the latency offset on the ports.
pactl: Print sink-input/source-output corked status

Sending this out for review before committing since it changes pactl output.
build: Add gcov coverage support
pacmd: add help info for 'set-log-target'
xen: add the HAVE_CONFIG_H macro guard
ladspa: D-Bus interface for setting algorithm parameters on-the-fly.

A new external D-Bus interface is registered and LADSPA algorithm
control parameters are exposed as a D-Bus property with setter and
getter support.
ladspa: Added a python script for testing.

The python script uses the ladspa D-Bus interface for IPC testing.
device-port: Change the latency offset type to a signed int.

The latency offset type should be signed (int64_t) so we can also add
a negative latency offset.

This also includes changing the type of the sink/source
offsets and updating pacmd so it handles negative numbers.
sink, source: Fix setting the latency offset when the sink/source is unlinked.
glib: Stop using g_source_get_current_time()

This function is now marked as deprecated. It is functionally identical
to g_get_current_time(), so we use that instead. The GLib API docs
suggest g_source_get_time(), but that does not provide wallclock time
(which is what the pa_time_event API expects), so we don't use it.
Fix a copy-paste error in PROTOCOL.
pulse: Use more intuitive indexing with port infos in introspect.c.
proplist: Change proplist_name_valid() to be public function pa_proplist_key_valid().

I want to check the validity in pa_tagstruct_get_proplist(),
and I think also client applications might have use for this
function.
tagstruct: Allow NULL proplist with pa_tagstruct_get_proplist().

module-tunnel doesn't care about the proplist contents, so
pa_tagstruct_get_proplist() is only used for removing the
data from the tagstruct buffer. In that case it's more
convenient to just pass NULL as the proplist argument.
conf-parser: Pass parser state in a struct instead of function parameters.

I don't like long function parameter lists, and I plan to
add some more state data to the parser which would make the
parameter lists even longer without this refactoring.
conf-parser: Pass parser state in a struct also for parse callbacks.

As suggested by Maarten Bosmans:
http://article.gmane.org/gmane.comp.audio.pulseaudio.general/12079
conf-parser: Add support for parsing property lists.
alsa-mixer: Add support for defining port property lists in the path configuration files.