Plug a test memory leak

The bindings cannot return a constant string
from an interface. Instead they dup the string
and leak it.
Cleanup internal Python hooks code a bit
Split special envar setting into another function

This is required because they must be set before
gtk_test_init() but we need to change the log settings
afterwards as it will change them.

This also prevents GDBus from being used
internally by GFile.
Simplify finding the plugin manager buttons
Set the libpeas-plugin icon as the icon for the demo window
Add a test for missing peas_register_types() in a C plugin
Merge toplevel and window group handling

Also fix warnings when the toplevel GtkWindow wasn't found.
Removing window group handling from the plugin manager test

This is no longer required!
Don't update the plugin info in the model twice

It was already being updated when the plugin was
{un,}loaded by the engine because it connects to the signals.
Free the registered extension impls when the object module is unloaded

When the object module is reloaded they will all be added again as
peas_register_types() will be called.

This caused problems when checking if the interface was already
registered as it was always already registered when reloading the
module.
Warn and fail when registering an extension impl multiple times

Registering an extension impl multiple times will not have the
desired effect as only the first one registered will ever be used.
Avoid having markup in a translated string

https://wiki.gnome.org/Initiatives/GnomeGoals/RemoveMarkupInMessages
Remove an old version check
Update valgrind suppressions
Fix two memory leaks
Name the valgrind and callgrind logs better

Using vgdump and cgdump isn't very informative.
Use g_clear_object()/g_clear_pointer() more
Don't use g_strv_length()

Testing for NULL is will give the same result.
Use g_signal_connect_object() now that it is fixed