Handle more extensions + fix relative paths

* Add more C++ extensions,
* Ignore Mercurial directory,
* Fix a `FileNotFoundError`:

```sh
./root
  |-- build
  |-- src
      `-- file.cc
```
If we run `coveralls` in `build`, `filepath` is `src/file.cc` (relative path w.r.t. `root`), and `io.open(filepath)` was executed in `build` (≠ `root` directory), leading to the error.