Pcbnew: Crash on redo while moving a footprint (lp:#1793948)

[Original report](https://bugs.launchpad.net/bugs/1793948) created by **Michael Geselbracht (mgeselbracht)**
```
When Ctrl-Y is pressed while a footprint is being moved, pcbnew crashes.

Steps to reproduce:

1. Open an existing desing and (m)ove a FP.
2. Press Ctrl-Z (Undo)
3. Start to (m)ove the same or another FP but instead of placing it press
Ctrl-Y
   -> Crash

Happens with 5.0 branch on Linux and the current nightly (Sep 22) on
Windows 10.


Application: kicad
Version: (5.0.1-dev-77-gf85dc5764), debug build
Libraries:
    wxWidgets 3.0.3
    libcurl/7.47.0 OpenSSL/1.0.2g zlib/1.2.8 libidn/1.32 librtmp/2.3
Platform: Linux 4.15.0-34-generic x86_64, 64 bit, Little endian, wxGTK
Build Info:
    wxWidgets: 3.0.3 (wchar_t,wx containers,compatible with 2.8) GTK+ 2.24
    Boost: 1.58.0
    OpenCASCADE Community Edition: 6.9.1
    Curl: 7.47.0
    Compiler: GCC 5.4.0 with C++ ABI 1009

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=ON
    BUILD_GITHUB_PLUGIN=ON
    KICAD_USE_OCE=ON
    KICAD_USE_OCC=OFF
    KICAD_SPICE=ON


GDB output:

Thread 1 "kicad" received signal SIGSEGV, Segmentation fault.
0x00007fffe5040b5e in std::vector<ITEM_PICKER, std::allocator<ITEM_PICKER>
>::size (this=0x10) at /usr/include/c++/5/bits/stl_vector.h:655
655           { return size_type(this->_M_impl._M_finish -
this->_M_impl._M_start); }
(gdb) bt
#0  0x00007fffe5040b5e in std::vector<ITEM_PICKER,
std::allocator<ITEM_PICKER> >::size (this=0x10) at
/usr/include/c++/5/bits/stl_vector.h:655
#1  0x00007fffe50409be in PICKED_ITEMS_LIST::GetCount (this=0x0) at
/data/src/kicad-source-mirror/include/undo_redo_container.h:192
#2  0x00007fffe517ae34 in PCB_BASE_EDIT_FRAME::PutDataInPreviousState
(this=0x27d0ae0, aList=0x0, aRedoCommand=true, aRebuildRatsnet=true) at
/data/src/kicad-source-mirror/pcbnew/undo_redo.cpp:426
#3  0x00007fffe517ac3b in PCB_BASE_EDIT_FRAME::RestoreCopyFromRedoList
(this=0x27d0ae0, aEvent=...) at /data/src/kicad-source-
mirror/pcbnew/undo_redo.cpp:395
#4  0x00007ffff648736e in wxAppConsoleBase::CallEventHandler
(this=0x824730, handler=0x27d0ae0, functor=..., event=...) at
../src/common/appbase.cpp:623
#5  0x00007ffff660d4d7 in wxEvtHandler::ProcessEventIfMatchesId (entry=...,
handler=<optimized out>, event=...) at ../src/common/event.cpp:1390
#6  0x00007ffff660d5cb in wxEventHashTable::HandleEvent (this=<optimized
out>, event=..., self=self@entry=0x27d0ae0) at ../src/common/event.cpp:996
#7  0x00007ffff660d97b in wxEvtHandler::TryHereOnly (this=0x27d0ae0,
event=...) at ../src/common/event.cpp:1587
#8  0x00007fffe5811ad0 in EDA_BASE_FRAME::ProcessEvent (this=0x27d0ae0,
aEvent=...) at /data/src/kicad-source-mirror/common/eda_base_frame.cpp:194
#9  0x00007ffff660d783 in wxEvtHandler::DoTryChain (this=<optimized out>,
event=...) at ../src/common/event.cpp:1552
#10 0x00007ffff660da65 in wxEvtHandler::ProcessEvent (this=0x27d0f48,
event=...) at ../src/common/event.cpp:1493
#11 0x00007ffff6fafb38 in wxWindowBase::TryAfter (this=0x3b07e00,
event=...) at ../src/common/wincmn.cpp:3427
#12 0x00007ffff660d7d7 in wxEvtHandler::SafelyProcessEvent (this=<optimized
out>, event=...) at ../src/common/event.cpp:1611
#13 0x00007ffff6fb10ec in wxWindowBase::HandleWindowEvent
(this=this@entry=0x3b07e00, event=...) at ../src/common/wincmn.cpp:1525
#14 0x00007ffff6f54b6f in wxMenuBase::SendEvent (this=this@entry=0x42e4800,
itemid=<optimized out>, checked=<optimized out>) at
../src/common/menucmn.cpp:666
#15 0x00007ffff6e3783b in menuitem_activate (item=0x42a3cb0) at
../src/gtk/menu.cpp:587
#16 0x00007ffff439cfa5 in g_closure_invoke () from /usr/lib/x86_64-linux-
gnu/libgobject-2.0.so.0
#17 0x00007ffff43aefc1 in ?? () from /usr/lib/x86_64-linux-
gnu/libgobject-2.0.so.0
#18 0x00007ffff43b7d5c in g_signal_emit_valist () from
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#19 0x00007ffff43b808f in g_signal_emit () from /usr/lib/x86_64-linux-
gnu/libgobject-2.0.so.0
#20 0x00007ffff4addfec in ?? () from /usr/lib/x86_64-linux-
gnu/libgtk-x11-2.0.so.0
#21 0x00007ffff439cfa5 in g_closure_invoke () from /usr/lib/x86_64-linux-
gnu/libgobject-2.0.so.0
#22 0x00007ffff43aefc1 in ?? () from /usr/lib/x86_64-linux-
gnu/libgobject-2.0.so.0
#23 0x00007ffff43b77f9 in g_signal_emit_valist () from
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#24 0x00007ffff43b808f in g_signal_emit () from /usr/lib/x86_64-linux-
gnu/libgobject-2.0.so.0
#25 0x00007ffff490478f in gtk_accel_group_activate () from
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#26 0x00007ffff4905bdd in gtk_accel_groups_activate () from
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
```

Story points: 6.0