Add namespace for test suites and classes

This patch adds a namespace TestDetail to the program in order to
help mitigate name collisions with user code. It also renames some of
the internal variables used in the macros for the same reasons.
Merge pull request #1 from Acronism/namespace

Add namespace for test suites and classes