Add support for sanitizers
This PR adds:
- CMake flags to enable compilation with sanitizers
- and three new CI jobs (UBSAN, ASAN, TSAN) that check for sanitizer failures.
There is no job with MSAN as its documentation recommends that all the code (any dependencies, including c++ stdlib) should be recompiled with MSAN to work correctly. Instead of MSAN I suggest to add Valgrind job at some point.
Fixes #797 (closed).
Edited by Michal Liszcz