Unit tests: created the test file for the Image class.

Unit tests use the Google C++ Unit Test Framework (gtest).
Unit tests: modified the Makefile structure to download gtest.
Test makefile: the gtest lib is now automatically built.
Unit tests: added a test file for the generic utilities.
Unit tests: Modified the test Makefile to compile the utilities tests.
Unit tests: Added a utilities test case.

The new test case tries to extract the extension of a file name with
multiple dots.
Unit tests: added a third utilities test case.

The test tries to extract the extension of a file whose name contains
non-Ascii characters.
Unit tests: began using ASSERT_STREQ instead of strcmp ASSERT.

The Unit test framework provides string comparison assertions.
Unit test: Renamed the UtilitiesTest test series.

All tests referring to file extensions are now labeled as
'FileExtensionTest'.
Unit tests: Added a fixture class for image tests.

This fixture generates a random 800x600 grayscale image. A new test case
was added to check that the Image class writeToPNG method generates a
proper PNG file.
Merge branch 'tests'