JHy coverage

**Add coverage functionality and more flags variables**

Add additional flags:
- Add flags for external libs
- Add PETSc and BOOST flags which inherits values from external libs and global (cmake) flags.
- Add macro simplifying setting variable value using other variables as possible options.
- Alter external library templates, now using finer flags specified above

Add new build type coverage for code coverage testing:
- Using coverage build type will compile flow123d with flags resulting in instrumented binary suitable for code coverage testing.
- Add cmake function for collection code coverage (xml or html format)
- Add yaml configuration for coverage build type
- Add python script for merging and filtering coverage (cobertura) reports
@jbrezmorf I quite sure that my commit (cherry pick consisting of several commits) overrode your commit (22bd060ede0ec22bbb4654785edceb2186078d47) introducing **Parallel automatic builds of needed libraries** here.
right?