Removed use of static for temporary variable in TauA1NuConstrainedFitter

The threaded framework was failing becuase multiple DQM modules were calling
TauA1NuConstrainedFitter at the same time and the class was using a static
to hold temporary data. I changed the code so now one passes the value as an
argument of the function which uses the value. This also required changed
ErrorMatrixPropagator which was formerly taking a pointer to a function but
now sometimes the function being called needed an additional argument. Changing
ErrorMatrixPropagator to use a std::function<> instead of a pointer to a function
as the argument fixed that problem.