Added gtest.

The infrastructure is there, so now we just need to write actual tests.
Tweaks to make it build on Linux.
Added a test for Cell. It doesn't need much, but it caught a potential bug.
Added BoardTests.

Most of the functions in Board are pretty simple (< 5 lines of logic), so
they probably don't need to be tested.

This may come back to bite me.
Renamed gtest to test.
Fixed issue with hash collisions on Cell.