pcbnew: Python plugins not unregistered when removed or renamed (lp:#1830446)

Original report created by Ian McInerney (imcinerney)

When the plugins are refreshed, any python plugins that are removed (e.g.
file deleted) are not removed from the list of plugins. Additionally, if a
plugin is renamed (e.g. modify the self.name field to a new value) then two
plugins appear in the list: the original name and the new name.

This is a spin-off of lp:1828595.

Built against the most recent master branch, and it appears for both python
2 and 3.

Application: Pcbnew
Version: (5.1.0-693-g4ae5a006d-dirty), release build
Libraries:
    wxWidgets 3.0.4
    libcurl/7.59.0 OpenSSL/1.1.0i zlib/1.2.11 libidn2/2.0.5 libpsl/0.20.2
(+libidn2/2.0.4) libssh/0.8.6/openssl/zlib nghttp2/1.32.1
Platform: Linux 5.0.9-100.fc28.x86_64 x86_64, 64 bit, Little endian, wxGTK
Build Info:
    wxWidgets: 3.0.4 (wchar_t,wx containers,compatible with 2.8) GTK+ 3.22
    Boost: 1.66.0
    OpenCASCADE Community Edition: 6.9.1
    Curl: 7.59.0
    Compiler: GCC 8.3.1 with C++ ABI 1013

Build settings:
    USE_WX_GRAPHICS_CONTEXT=OFF
    USE_WX_OVERLAY=ON
    KICAD_SCRIPTING=ON
    KICAD_SCRIPTING_MODULES=ON
    KICAD_SCRIPTING_PYTHON3=OFF
    KICAD_SCRIPTING_WXPYTHON=ON
    KICAD_SCRIPTING_WXPYTHON_PHOENIX=OFF
    KICAD_SCRIPTING_ACTION_MENU=ON
    BUILD_GITHUB_PLUGIN=ON
    KICAD_USE_OCE=ON
    KICAD_USE_OCC=OFF
    KICAD_SPICE=ON

Original tags: pcbnew python