Fix deprecations usage, macros and do internal porting
This MR does a bunch of things:
- Allows one to build without depredations
- Properly excludes some methods from the build
- Do some internal porting, also add comparability blocks and wrap them inside of the
KNEWSTUFFCORE_BUILD_DEPRECATED_SINCE
macro.
@kossebau I would appreciate if you cold have a look from a deprecation POV at this.
Hopefully this will make life easier when developing and looking towards KF6.