Portability part2

It's good to have a single define to know whether tests are being run. By setting ```CFENGINE_TEST``` together with the rule that test.h should always come first in tests, we're given this possibility. Now people may instrument their tests better without providing custom wrappers, which takes time.