Fixed "extern" declarations

* Made ```__gcov_flush()``` declaration C++ aware.
* Extracted declaration to a separate file.
* Extracted system headers to ```*.pch```
* rebuilt the binary