Add support to time out long running queries

OK. so it sounds like at least for a start the test... functions can be one-liners that call a common function with the scale and timeout. at some point, it would be nice to be able to pass in different SQLStmt names to try different kinds of query -- like aggs -- to see if trying to stop in the middle of an agg instead of the middle of a scan effects accuracy.

I was also thinking that there might be common code blocks that could be shared with the prior tests to hide the ugliness of the plan cache setup and the mocked logger.

And a small thing: it looks like the m_ee.loadCatalog call is identical in all tests and could be moved into setUp.