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