Library updates are silent and break schematics (lp:#1799087)

[Original report](https://bugs.launchpad.net/bugs/1799087) created by **Tonn van Bussel (tonnvb)**
```
Application: kicad
Version: (5.0.0), release build
Libraries:
    wxWidgets 3.0.3
    libcurl/7.54.1 OpenSSL/1.0.2l zlib/1.2.11 libssh2/1.8.0 nghttp2/1.23.1
librtmp/2.3
Platform: Windows 7 (build 7601, Service Pack 1), 64-bit edition, 64 bit,
Little endian, wxMSW
Build Info:
    wxWidgets: 3.0.3 (wchar_t,wx containers,compatible with 2.8)
    Boost: 1.60.0
    OpenCASCADE Community Edition: 6.8.0
    Curl: 7.54.1
    Compiler: GCC 7.1.0 with C++ ABI 1011

Build settings:
    USE_WX_GRAPHICS_CONTEXT=OFF
    USE_WX_OVERLAY=OFF
    KICAD_SCRIPTING=ON
    KICAD_SCRIPTING_MODULES=ON
    KICAD_SCRIPTING_WXPYTHON=ON
    KICAD_SCRIPTING_ACTION_MENU=OFF
    BUILD_GITHUB_PLUGIN=ON
    KICAD_USE_OCE=ON
    KICAD_USE_OCC=OFF
    KICAD_SPICE=ON


When a library file gets updated, the changes are automatically applied to
a schema that is opened with Eeschema.
This happens silent: no dialog, no warning.
If the change is structural the update will break the schematic.

Potentially schematics may be invalidated just by looking at them in
Eeschema.

From the forum I understand a rescue dialog should appear. To me it never
does. To others it seem to happen randomly.

To me this is likely to happen when libraries are updated or a new version
of Kicad installed.


Step by step:

1) Select a (Global) library and a component within that library.
2) Make a copy of the library file and keep it in a safe place.

3) Launch Kicad (Symbol Library Editor) (in case of a Global Library as
Administrator) and edit the component, e.g. remove a pin.
4) Move the changed library to a safe place.

5) Replace the original library.
6) Launch Kicad (Eeschema) and create a schematic using the selected
component and use the pin that has been deleted in the changed library.

7) Close Eeschema.
8) Outside Kicad: replace the original library with the changed one (with
missing pin).
9) Open Eeschema.

The component will be updated, the pin will be gone.
The schema will be broken.
The update is silent.


Expected behavior:

1) No automatic updates.
    - A schema should not be changed by only looking at it.
    - I am the editor, I expect no edits from elsewhere.
    - Version control and continuous integration will notify unexpected
changes.

2) Automatic updates should have a disable option present in the
configuration of Kicad.
    - There are many examples on the forum where automatic updates are
undesirable. This should be taken into account.

3) Automatic updates should be reversible.
    - See point 2).

4) Updates should happen only on request.
    - (My) Schematics always need to be ready to be shipped to clients.
Unexpected changes are a no go.

5) An update should present a warning dialog with an opt-in.
    - Not an opt-out. Not updating should be the default behavior.
    - The dialog should show the expected changes before the update.

Personal note: as you can see from my expected behavior list, I am a bit at
a loss as to the automatic update point of view of Kicad.
```

Story points: 6.0