Support reporting coverage for tests

If `coverage` options is set, template files will be instrumented
before execution (can be enabled per-technology). If templates are
built with source map, there is an option to show coverage for
original files.
There is also an option to filter out some sources from report. By
default, all content of `node_modules` and `libs` will be omitted.

@andrewblond @arikon @j0tunn
вот эти три функции(`addStatement`, `addFunction`, `addBranch`) несколько похожи друг на друга. Нет желания подрефакторить и убрать дублирование?