Remove Google Test dependency

Matcha should not have Google Test as an explicit dependency.  This pull request makes the GTest code dependent on a MATCHA_GTEST define being present before inclusion of matcha.hpp.

Also, the default output policy can be specified via the macro MATCHA_OUTPUT_POLICY.  If undefined and MATCHA_GTEST is defined, it will be the GTestOutputPolicy, otherwise it will be the StandardOutputPolicy.  It may be:

StandardOutputPolicy - prints to std::cout
ExceptionOutputPolicy - raises a std::logic_error
GTestOutputPolicy - output to Google Test