add an example for google c++ tests

This is still in the playground phase, but hopefully we can have a full
c++ test suite in the near future
add the compilation of gtest to CMakeLists.txt
fix a bug in Array::free()

the members were not alwaysy being set to NULL / 0.  This was a fairly
major bug, I'm surprised we didn't see any issues before.
add a bunch of c++ tests for Array

One of the tests found an error in Array::free()