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
Add documentation to this file. Its purpose and its usage, which variables has to be set  and which comes out or which targets are defined ...