Convert unit tests from Boost Test to Google Test

This was discussed briefly with @hobu on Slack. Google Test is not a drop in replacement of Boost Test, but the syntax is very close for 99% of our use cases. For example, `BOOST_CHECK_EQUAL` becomes `EXPECT_EQ`, `BOOST_CHECK` becomes `EXPECT_TRUE`.

More on the gtest syntax can be found at https://code.google.com/p/googletest/wiki/Primer.

I've attempted to update our documentation at `doc/development/testing.rst` to cover any differences. Tests are still called via `ctest`, `make`, or `ninja` but can be run independently with some gtest-specific flags, if desired. For example, with Boost test, you would have used `-t` or `--run_test` to run a specific test suite/case. With gtest, you use `--gtest_filter`.