Run clang-tidy modernize-use-override to remove all the redundant
virtual keywords from overridden methods, and add some missing
overrides.
Another benefit is that this has also added the overrides
on destructors, which will cause a build failure if a base
class is missing a virtual destructor.
* add In annotation
* remove struct forward declarations
* fix members initialization list in header
* merge removal code for function bodies and constructor definition
* It's now implicitly shared, meaning that changes to the config
can be supervised and a signal is sent from QgsVectorLayer and
there is no risk of elements suddenly being deleted.
* Remove a bunch of methods that were in QgsVectorLayer for legacy
reasons.