Add .gitignore file.
Fix bugs in the compilers' related classes. Add tests for the cpp compiler.