Don't print CATEGORIES trace unless tracing enabled (TriBITS #47)

I was missing a if() clause for <Project>_TRACE_ADD_TEST.  Therefore, it was
always printing when a test was not added because CATEGORIES did not match.

The unit tests did not need to be changed because the tests were only checking
if the message was printed when tracing was enabled.  I don't have a nice way
to check that such output does not exist.
Exclude -std=c++98 when C++11 is enabled (TriBITS #50)

Previously, when C++11 was enabled, you would end up with -std=c++98 and
-std=c++11 (or -std=c++0x) on the compile line with -std=c++11 coming later.
This is no problem for most compilers but for the gnu 4.7.2 due to SFINAE
logic failures?

I have a unit test for this and I manually verified that when C++11 is
enabled, then -std=c++98 is not on the command-line.