Reorganized the Boost Build generators-test.py test completely. Now no longer used regular OBJ, LIB & EXE target generators to avoid having to deal with specific compiler/linker features, e.g. some compilers causing test failures by returning an error code on a warning about an unexpected source file .target_cpp extension being used. Removed lots of duplication, made the test code much more readable, reviewed and cleaned up all the comments.