Make InitRootHandlers safe for the threaded framework

InitRootHandlers was originally calling ROOT's 'SetErrorHandler' function during event processing. That operation is not thread safe. This was done solely to allow ROOT warning messages to be temporarily ignored. We now always keep the same error handler but now signal the request to ignore warnings via a thread local bool. To better encapsulate this behavior, RootHandlers was changed to use a function which takes a functor as an argument and then wraps the temporary disabling of warnings via a sentry. Only RootOutputTree actually makes use of this facility.