Don't export compiler flags to user code

We should only export needed definitions, not compiler flags as this
breaks user code (see #371 for an example).
Remove superfluous flags from tutorials
Really only set CMAKE_CXX_FLAGS if empty on GCC
Revert "Really only set CMAKE_CXX_FLAGS if empty on GCC"

This reverts commit 20c95ddcad13bce5b72ca6bc84368b3c6473a8e4.