chore(build): CMakeLists.txt handles gcc < 4.7
chore(build): set up for compiling on different compilers

Used for internal testing.
fix(compile): fix compiler errors on gcc < 4.7