C++ with a little more rigor

@px4dev @jean-m-cyr @DonLakeFlyer This is a test for just the EKF module on stricter C++ warnings - I found the points raised by the compiler valid.

If anyone wants to add a commit to fix this last bit:
```
/Users/user/src/Firmware/src/lib/mathlib/math/Vector.hpp:366:16: warning: base class 'class math::VectorBase<2u>' has a non-virtual destructor [-Weffc++]
/Users/user/src/Firmware/src/lib/mathlib/math/Vector.hpp:410:16: warning: base class 'class math::VectorBase<3u>' has a non-virtual destructor [-Weffc++]
/Users/user/src/Firmware/src/lib/mathlib/math/Vector.hpp:460:16: warning: base class 'class math::VectorBase<4u>' has a non-virtual destructor [-Weffc++]
In file included from /Users/user/src/Firmware/src/lib/mathlib/mathlib.h:45:0,
                 from /Users/user/src/Firmware/src/modules/ekf_att_pos_estimator/ekf_att_pos_estimator_main.cpp:83:
/Users/user/src/Firmware/src/lib/mathlib/math/Matrix.hpp:360:16: warning: base class 'class math::MatrixBase<3u, 3u>' has a non-virtual destructor [-Weffc++]
In file included from /Users/user/src/Firmware/src/lib/mathlib/mathlib.h:46:0,
                 from /Users/user/src/Firmware/src/modules/ekf_att_pos_estimator/ekf_att_pos_estimator_main.cpp:83:
/Users/user/src/Firmware/src/lib/mathlib/math/Quaternion.hpp:54:16: warning: base class 'class math::Vector<4u>' has a non-virtual destructor [-Weffc++]
In file included from /Users/user/src/Firmware/src/lib/mathlib/mathlib.h:45:0,
                 from /Users/user/src/Firmware/src/modules/ekf_att_pos_estimator/ekf_att_pos_estimator_main.cpp:83:
/Users/user/src/Firmware/src/lib/mathlib/math/Matrix.hpp: In instantiation of 'class math::Matrix<4u, 4u>':
/Users/user/src/Firmware/src/lib/mathlib/math/Quaternion.hpp:105:23:   required from here
/Users/user/src/Firmware/src/lib/mathlib/math/Matrix.hpp:328:16: warning: base class 'class math::MatrixBase<4u, 4u>' has a non-virtual destructor [-Weffc++]
```