Add Google test library

For #626 and #677. This makes googletest available for use if you add the `testing` module in your project config file - i.e., `includeModule('testing')`. It defines `TORQUE_TESTS_ENABLED`, with which you should wrap all of your unit tests. It also defines two convenience macros. While before, tests with fixtures would look like this:

```c++
class VectorFixture : public ::testing::Test
{
   protected: Vector<S32> v, u;
};

TEST_F(VectorFixture, Length)
{
   EXPECT_EQ(v.length(), u.length());
}
```

They can now look like:

```c++
FIXTURE(Vector)
{
   protected: Vector<S32> v, u;
};

TEST_FIX(Vector, Length)
{
   EXPECT_EQ(v.length(), u.length());
}
```

So we can use actual class names in test names, which I think makes for clearer code with less noise and repetition (i.e. no more `TEST(ClassTest`).

Note: currently tests will fail due to a 'memory leak' caused by `Con::printf` as noted [here](http://www.garagegames.com/community/forums/viewthread/136563/1#comment-858975). The solution is to set `$Con::LogBufferEnabled` to `false` before running tests. This means you won't be able to see the output in the console window in-engine, and will have to check the results in `console.log` after closing the engine.