Add gupnp_service_info_get_introspection_async_full()

This version of get_introspection can be cancelled using GCancellable.

https://bugzilla.gnome.org/show_bug.cgi?id=704867
tests: Add a way to test cancelling introspection gets

First ctrl-C in test-introspection will cancel all current and future
gupnp_service_info_get_introspection_async_full() calls.

https://bugzilla.gnome.org/show_bug.cgi?id=704867