* Update googletest to current head
* Use MOCK_METHOD macro instead of MOCK_METHODn ones
MOCK_METHOD supports annotating functions with override and is the
preferred way to define mock methods.
* Use TEST_SUITE instead of TEST_CASE
The former is deprecated, switch to the latter.
* Update changelog
It's probably better to wait until the buffer is sent, rather than
waiting until its empty. To test the output it has to be sent, but
because of timing, it may be emptied at any point.