Fixed PP macros to work for gcc/clang and added super flags class (Flags<T>).