Taking Mike's suggestion, use scoped_lock in many places that formerly handled a bare mutex.
Make RootInterfaceMutex handled by scoped locks.
Fixes to MakeInFiles_sample.py.
Prevent copying of results vector (usually small, but it's const so it can't hurt).
Make the number of events we try to accumulate in fEventsToFinish a class variable.
Following Mike's suggestion, use a condition variable to manage the flow of control in the event-finisher thread.