Merge branch 'fix-deferred-delete' into 'master'

Fix deferred vertex deletion, add unit tests.

GeometryKernel::collect_garbage used to first perform the TopologyKernel
garbage collection, usually shrinking its vertex_deleted_ member, then
accessed it using is_deleted() with the old vertex indices.

This caused out-of-bounds memory access (made visible by
cmake -DSTL_VECTOR_CHECKS=ON) and non-fast deletion also resulted in wrong
results, the remaining vertices had wrong coordinates.

See merge request !4
7 jobs for master in 16 minutes and 52 seconds
Status Name Job ID Coverage
  Test
passed clang-c++11 #8794
Linux

00:02:21

passed clang-c++98 #8796
Linux

00:01:55

passed cppcheck #8799
Linux

00:01:37

passed gcc-c++11 #8793
Linux

00:03:23

passed gcc-c++98 #8795
Linux

00:02:36

passed macos-c++11 #8797
Apple

00:02:33

passed macos-c++98 #8798
Apple

00:02:25