ENG-7019: Fix race condition in stream snapshot watchdog thread.

Ideally, m_outstandingWorkCount should be removed and m_outstandingWork can use
a LinkedBlockingQueue. This fix introduces less changes to lower the risk.
ENG-7019: Safe guard stream snapshot watchdog with try/finally so that it still
reschedules itself even if an exception is thrown.

Failed stream snapshot relies on the watchdog to terminate the
snapshot. Otherwise, it will block all subsequent snapshots.
Merge pull request #1715 from VoltDB/ENG-7019

ENG-7019: Fix Race Condition in Stream Snapshot Watchdog.

r=akhanzode
Merge branch 'master' of github.com:VoltDB/voltdb into ENG-6553-group-by-alias
Add more tests and resolve Paul's code review comments