Cherry pick

Add CodeCoverage lib
Edit CMakeLists
Force c/c++ flags to create instrumented binary.
Add custom target in makefile to run tests and catch coverage.
Change cmake FATAL_ERROR level to STATUS
Revert changes in cmake
Add function for coverage collection
Edit CMakeLists.txt clear some flags
Add build type coverage
Add config file for build type coverage
Update yaml config file
Yaml configuration file creates multijob for coverage testing (unit
tests only).