add gmock support, reorganize the structure of gtest