Make sure that the subscription timeout is always removed

If the GUPnPServiceProxy is unscribed (or disposed) before it actually
got the subscription response, then SID will not have been set. The
code used to bail out early in this case, leaving the subscription
timeout in place. Change this so that the timeout is always removed.

Signed-off-by: Sven Neumann <s.neumann@raumfeld.com>
Fix formatting
Update obsolete upnp.org URLs

https://bugzilla.gnome.org/show_bug.cgi?id=680322
Default context manager is 'linux' on Linux

'unix' for all other platforms

https://bugzilla.gnome.org/show_bug.cgi?id=676803
Make use of AS_HELP_STRING

https://bugzilla.gnome.org/show_bug.cgi?id=676803
Guard deprecated function calls

g_value_{get,set}_char is deprecated in glib >= 2.32.

Remove #if guard once we bump dependency to at least 2.32.
Fallback to Linux CM if available

If one of the other dynamic context managers was not available, we would
fall-back to the static CM.

This patch changes this so we fall-back to the dynamic Linux CM instead
if it's available.
Add support for device aliases

Previously the Linux CM could not cope with them since GSSDP lacks the
understanding that a device can have more than one address.

This works around the fact by treating the aliases (eth0:1) as different
devices.

Fixes:
    https://bugzilla.gnome.org/show_bug.cgi?id=682005
Don't use xmlRecoverFile, use xmlReadFile

xmlRecoverFile never errors out (returning a non-null file). So invalid
XML files can't be detected.

https://bugzilla.gnome.org/show_bug.cgi?id=679204
Only show libxml2 console messages in debug mode

https://bugzilla.gnome.org/show_bug.cgi?id=679204
Update license headers
Fix name of software in license
Bump version
Fix package in GIR
Bump gssdp requirement

Needed for correct GIR file + pkg-config data.
Drop Requires.Private in pkg-config files

This field is not parsed at all by pkg-config! (cf. Requires.private)
Apparently whatever is listed in it is not needed.

https://bugzilla.gnome.org/show_bug.cgi?id=685477
Make Requires private in pkg-config files

Putting stuff in Requires means applications using
this library will link against that when it might
not be needed at all because they use none of that
libraries symbols directly.

If only the cflags is needed (because public headers
includes headers from that package) they
can be private to avoid uselessly linking.

See #2 in http://people.freedesktop.org/~dbn/pkg-config-guide.html#faq

https://bugzilla.gnome.org/show_bug.cgi?id=685477
Add vapi generation from GIR
Prepare 0.19.0
Add vapigen m4 macro