gplugin/gplugin

Add an unloadable property to GPluginPluginInfo and add a shutdown parameter to gplugin_unload.

Add an unloadable property to GPluginPluginInfo and add a shutdown parameter to `gplugin_unload`.

This allows plugins that can only be shutdown once to handle things properly. Examples of this are basically anything that pulls in another library that doesn't allow you to `_init` and `_uninit` more than once.

Testing Done:
Ran the unit tests and gplugin-query.

Reviewed at https://reviews.imfreedom.org/r/943/
syntax: glob
.*.swp
*.debhelper
*.orig
*.pyc
*.ui~
\#*.ui\#
syntax: regexp
^build.*\/
^packaging\/debian\/tmp\/
^packaging\/debian\/(.+\.)?(substvars|debhelper\.log)$
^packaging\/debian\/build.*\/
^packaging\/debian\/libgplugin0?(-.+)?\/
^packaging\/debian\/gir1.2-gplugin-0.0\/
^packaging\/debian\/files$
^po\/.*\.pot$
^obj-x86_64-linux-gnu\/
^debian\/?$
^subprojects\/.+\/