fixes to #ifndef guards, a new makefile with pch

Using precompiled headers with gcc saves about 25% on the total compie time for OXC. That could help when frequently recompiling the project for debugging.