Renamed unit test executable
Re-arranged unit test for 1 executable only
Fixed up compile issues with integration test

Some tests may still fail. They still need to be cleaned up
Limit unit test friend stuff

Place the unit test friend stuff inside #ifdef block so that it's not necessary to have gtest framework just to build the executable
Cleaned-up debugging print statements
Added unit test for Logger::operator =
Added unit test for Logger's set* functions