gplugin/gplugin

A few updates to cleanup a bunch of code in libpurple.
feature/unload-failed-state
2020-04-10, Gary Kramlich
5a05c6354d62
A few updates to cleanup a bunch of code in libpurple.

* Add a new plugin state UNLOAD_FAILED that tracks when a plugin failed to
unload.
* Add a new signal GPluginManager::unload-plugin-failed
* Update GPluginManager::load-failed to pass the error, if any, that the
plugin returned.
* Added gplugin_manager_foreach and GPluginManagerForeachFunc to make it
easier to operate on all plugins.
subdir('valgrind')