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